如果行不按顺序,如何删除数据框中的行

我有这个数据框:

      x  year bucket       price
1  2108  2010     7       100000 
2  2108  2010     2        95000 
3  2108  2010     3        93000
4  2108  2010    14        92000
5  2108  2010    13        91000
6  2108  2010     8        90500
7  2108  2010    10        89000
8  2108  2010     5        88000
9  2108  2010     9        87000
10 2108  2010    11        86000 
11 2108  2010    16        85000 
12 2108  2010    12        84000
13 2108  2010     1        83000 

我是按照价格排列的,但是桶的顺序不对,我想把它们拆下来,变成这样:

      x  year bucket       price
1  2108  2010     7       100000 
4  2108  2010    14        92000
11 2108  2010    16        85000

有没有直接的方法可以在 R 中做到这一点

回答

您可以cummax用于子集化。

x[x$bucket == cummax(x$bucket),]
#      x year bucket  price
#1  2108 2010      7 100000
#4  2108 2010     14  92000
#11 2108 2010     16  85000

数据:

x <- read.table(header=TRUE, text="      x  year bucket       price
1  2108  2010     7       100000
2  2108  2010     2        95000
3  2108  2010     3        93000
4  2108  2010    14        92000
5  2108  2010    13        91000
6  2108  2010     8        90500
7  2108  2010    10        89000
8  2108  2010     5        88000
9  2108  2010     9        87000
10 2108  2010    11        86000
11 2108  2010    16        85000
12 2108  2010    12        84000
13 2108  2010     1        83000 ")

以上是如果行不按顺序,如何删除数据框中的行的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>