[英]Compare the current row with a previous on in R
如果 C 的当前值大于前一个值,我想删除整行,然后删除该行
A B C
1: 1 10 100
2: 2 20 200
3: 3 30 800
4: 4 40 400
5: 5 50 500
例如在第 3 行:800 > 200,所以删除第 3 行
结果:
A B C
1: 1 10 100
2: 2 20 200
4: 4 40 400
5: 5 50 500
谢谢!!
这将做到:
your_data[c(diff(your_data$C) >= 0, TRUE), ]
使用dplyr
:
library(dplyr)
filter(df, C <= lead(C, default = C[n()]))
输出:
A B C
1 1 10 100
2 2 20 200
3 4 40 400
4 5 50 500
数据:
df <- structure(list(A = 1:5, B = c(10L, 20L, 30L, 40L, 50L), C = c(100L,
200L, 800L, 400L, 500L)), class = "data.frame", row.names = c("1:",
"2:", "3:", "4:", "5:"))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.