【问题标题】:R: Compare a row to all the rows that come before itR:将一行与它之前的所有行进行比较
【发布时间】:2022-06-15 23:36:43
【问题描述】:

我有一个如下所示的数据框。对于组中的每一行,我想将 ID 与之前所有行的 ID 进行比较。在新列中,如果行的 ID 与它之前的 any 行的 ID 相同,则值为“TRUE”,如果与之前的行的 ID 不同,则值为“FALSE”它之前的任何行。

group    id      order
1 g1    27391    1   
2 g1    29381    2   
3 g2    27391    3   
4 g2    48401    1   
5 g2    27391    2   
6 g2    27391    3   
7 g2    48401    4   
8 g3    27391    1  
8 g3    48401    2  

所以输出看起来像:

group    id      order  same?
1 g1    27391    1      NA
2 g1    29381    2      FALSE
3 g2    27391    3      TRUE
4 g2    48401    1      NA
5 g2    27391    2      FALSE
6 g2    27391    3      TRUE
7 g2    48401    4      TRUE
8 g3    27391    1      NA
8 g3    48401    2      FALSE

【问题讨论】:

  • 你想要`library(dplyr);dat %>% group_by(group) %>% mutate(same = replace(duplicated(id), 1, NA));

标签: r dataframe compare


猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-13
  • 2022-08-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多