当前位置:  开发笔记 > 编程语言 > 正文

合并两个连续值

如何解决《合并两个连续值》经验,为你挑选了1个好方法。

我有一个不同值的向量,我想合并并添加两个值,如果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个后面的两个出现在一起以显示8.我确信有一个简单的函数可以在几秒钟内完成,我只是无法找到它.

提前致谢!



1> Psidom..:
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

推荐阅读
凹凸曼00威威_694
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有