【发布时间】:2018-01-05 02:49:05
【问题描述】:
我只想按 ID 保留具有 3 个或更多实例的观察结果。或者,另一种方式,按 ID 删除少于 3 个实例的观察。样本数据:
Instances <- data.frame(ID=c(111111, 111111, 111111, 111111,
222222, 222222,
333333, 333333, 333333),
INSTANCE=c(1,2,3,4,1,2,1,2,3),
AMOUNT=c(100,120,108,112, 60, 65, 85, 90, 101))
Instances$ID <- as.factor(Instances$ID)
Instances$INSTANCE <- as.factor(Instances$INSTANCE)
从这个样本中,我预计会返回来自 ID 111111 和 333333 的所有观察结果,但不会返回来自 222222 的所有观察结果。
我确信我可以通过 ID 创建 magrittr 中的管道功能。 当我尝试这样做时,我无法将 INSTANCE > 3 的功能与 ID 绑定。我仍然在理解 %>% 并且仍在阅读它,但与此同时,任何关于为什么/如何工作的帮助和潜在解释将不胜感激。在外面保持温暖。
【问题讨论】:
-
Instances[ave(rep(1, nrow(Instances)), Instances$ID, FUN = length) >= 3,]怎么样?
标签: r