嗨,我的df如下所示 如果值列中的值重复> = 4 tome
,如何创建列“rep”我们可以用下面的代码
创建RLE_created列df$RLE_created<-sequence(rle(as.character(df[,grep("Value",colnames(df))]))$lengths)
Value RLE_created rep
1 1
3 1 y
3 2 y
3 3 y
3 4 y
7 1
8 1
8 2
9 1 y
9 2 y
9 3 y
9 4 y
9 5 y
提前致谢
答案 0 :(得分:1)
一个选项是
library(data.table)
setDT(df)[, rep := c("", "Y")[(.N >= 4)+1], Value]
注意:最好不要使用对象名称的函数名称