假设我有一个这样的数据帧:
DAYS VALUE
1 A
2 A
3 A
5 A
7 A
9 A
10 A
12 A
13 A
14 A
15 A
Run Code Online (Sandbox Code Playgroud)
我试图导出一个函数,以便只保留一系列连续数字(最小值为3),如下所示:
DAYS VALUE
1 A
2 A
3 A
12 A
13 A
14 A
15 A
Run Code Online (Sandbox Code Playgroud)
我想知道包中是否有任何功能可以做到这一点?
谢谢!
koh*_*ske 12
必须有更简单的方法...但作为oneliner:
d[(1+(s<-c(0,cumsum(1-(diff(d$DAYS)==1)))))%in%which(table(s)>=3),]
Run Code Online (Sandbox Code Playgroud)
一步步
d1 <- c(FALSE, diff(d$DAYS)!=1)
d2 <- cumsum(d1)+1
d3 <- table(d2)
d4 <- which(d3 >= 3)
d[d2 %in% d4,]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1564 次 |
| 最近记录: |