gpt4 book ai didi

r - 合并两个连续的值

转载 作者:行者123 更新时间:2023-12-04 12:08:23 24 4
gpt4 key购买 nike

我有一个不同值的向量,如果 5 后跟一个 3,我想合并两个值并将其相加。

输入:

vector <- c(1, 2, 7, 4, 3, 8, 5, 3, 2, 6, 9, 4, 4, 5, 6, 2, 6, 5, 3)

预期输出:
1 2 7 4 3 8 8 2 6 9 4 4 5 6 2 6 8

因此,如您所见,在 5 之后出现的 3 的两次被加在一起以显示 8。我确定有一个简单的函数可以在几秒钟内完成此操作,我只是无法找到它。

提前致谢!

最佳答案

vector <- c(1, 2, 7, 4, 3, 8, 5, 3, 2, 6, 9, 4, 4, 5, 6, 2, 6, 5, 3)

# get indices where 5 followed by 3
fives <- head(vector, -1) == 5 & tail(vector, -1) == 3

# add three to fives
vector[fives] <- vector[fives] + 3

# remove threes
vector <- vector[c(TRUE, !fives)]
vector
# [1] 1 2 7 4 3 8 8 2 6 9 4 4 5 6 2 6 8

关于r - 合并两个连续的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41839275/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com