如果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
谢谢!
答案 0 :(得分:0)
这可以做到:
your_data[c(diff(your_data$C) >= 0, TRUE), ]
答案 1 :(得分:0)
使用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:"))