【发布时间】:2016-10-16 13:52:07
【问题描述】:
我想对我的数据框进行子集化,以仅保留在不同日期有 3 个或更多观察值的组。我想摆脱少于 3 个观察值的组,或者他们的观察结果不是来自 3 个不同的日子。
这是一个示例数据集:
Group Day
1 1
1 3
1 5
1 5
2 2
2 2
2 4
2 4
3 1
3 2
3 3
4 1
4 5
因此,对于上面的示例,组 1 和组 3 将被保留,组 2 和组 4 将从数据框中删除。
我希望这是有道理的,我想解决方案会很简单,但我无法解决(我对 R 很陌生,并且不能很快找到解决此类问题的方法)。我想也许 diff 函数可以派上用场,但没有走得更远。
【问题讨论】:
-
试试
df[df$Group %in% as.numeric(names(which(tapply(df$Day,df$Group,function(x) length(unique(x))>=3)))),] -
@Jaap 这个
r-faq怎么样?我无法理解所有关于 r-faq 的内容。当然,还有更一般的、访问量更大的问题没有用 r-faq 标记。你能解释一下吗?谢谢。