数据框列中的序列值

时间:2018-07-02 13:13:19

标签: r

我需要一些帮助写R

我需要检查数据帧中的指定列是否正确排列了升序。

例如

df$id | df$order | df$any
  3        1         a
  4        2         a 
  7        3         b
  1        4         b
  2        6         a
  9        5         a   # select this row - out of sequence in df$order
  8        7         a

我想选择不遵循升序的行。在上面的示例中,该行将是df$id等于9的行,因为在df$order中,值5在值6之后。 / p>

糟糕。 1:在df$order中,数字的范围是1到N,其中N是大于1的数字。
观察2:如果可能的话,我想使用核心库来解决问题。

任何问题,只问评论
预先感谢!

1 个答案:

答案 0 :(得分:2)

使用基本R:

subset(df,c(0,diff(order))<0)
  id order any
6  9     5   a

subset(df,c(0,diff(order))>=0)
  id order any
1  3     1   a
2  4     2   a
3  7     3   b
4  1     4   b
5  2     6   a
7  8     7   a