我一直在dplyr
包中尝试执行以下操作,但未成功。
我需要找到某个因子列的哪些级别出现在另一个因子列的每个级别中,在我的情况下,它是Year列。这可能是示例数据集:
ID Year
1568 2013
1341 2013
1568 2014
1341 2014
1261 2014
1348 2015
1568 2015
1341 2015
所以,我希望列出每年出现的ID名称。在上面的示例中将是:
"1568", "1341"
我一直在尝试使用dplyr
到grou_by
列Year
,然后以某种方式summarise
来处理数据,但是没有实现。
谢谢
使用dplyr
,我们可以group_by
ID
并选择具有唯一编号Year
的组作为完整数据。
library(dplyr)
df %>%
group_by(ID) %>%
filter(n_distinct(Year) == n_distinct(.$Year)) %>%
pull(ID) %>%unique()
#[1] 1568 1341
这里是使用intersect()
+ split()
的基本R解决方案>
comm <- Reduce(intersect,split(df$ID,df$Year))
诸如此类
> comm
[1] 1568 1341