首页 文章

数据框列中的序列值

提问于
浏览
0

我需要一些写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 中,在值 6 之后找到值 5 .

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

任何问题,只需询问评论
提前致谢!

1 回答

  • 2

    使用Base 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
    

相关问题