我有一个数据框,如果其关联索引的计数为<2,我想在其中过滤出Month值。
ID = c(rep("A", 5), rep("B", 5))
Month = c(
1,
1,
2,
2,
3,
1,
2,
2,
3,
3
)
Index = c("X1", "X1", "X2", "X2", "X3", "X1", "X2", "X2", "X2", "X3")
df = data.frame(ID, Month, Index, stringsAsFactors = FALSE)
df$Month <- as.factor(df$Month)
df
此处,X3和X1分别仅对A和B发生一次,因此这些行将被删除。
但是,如果我尝试使用%in%
过滤X3和X1的数据,它们也会从其他ID值中删除。
删除仅应针对特定组。
答案 0 :(得分:1)
我们可以按列和filter
library(dplyr)
df %>%
group_by(ID, Month, Index) %>%
filter(n() >1)