【发布时间】: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));