【发布时间】:2019-04-18 23:37:24
【问题描述】:
我想用 0 替换我的数据框中的重复值。允许重复一些次数。
a<-c(1,2,3,4,4,4,5,5,5,5,5,9,9,150,220,220)
如果允许的重复次数是 4,则预期的解决方案应如下所示:
a_new<-c(1,2,3,4,4,4,0,0,0,0,0,9,9,150,220,220)
超过 4 次的重复值被替换为 0。
使用 rle
b<-rle(a)
我可以识别重复次数
Run Length Encoding
lengths: int [1:8] 1 1 1 3 5 2 1 2
values : num [1:8] 1 2 3 4 5 9 150 220
并将其替换为 0
b$values[b$lengths>4]<-0
Run Length Encoding
lengths: int [1:8] 1 1 1 3 5 2 1 2
values : num [1:8] 1 2 3 0 0 9 150 220
问题是如何在这种情况下将重复插入 0 回数据中。
【问题讨论】:
标签: r