【发布时间】:2018-02-22 18:19:56
【问题描述】:
我有一个示例数据集。我的目标是保留所有user_id 和 plan_id 出现多次的记录。我了解您可以使用
n_occur <- data.frame(table(test$user_id))
但是如何计算两列中变量的频率然后通过那些不止一次出现的数据集过滤原始数据集? 例如,这是我的测试数据集:
> test
user_id plan_id hour
1 1 10 2
2 2 10 4
3 3 20 23
4 4 20 12
5 5 10 8
6 1 10 10
7 5 20 6
8 1 20 5
9 1 20 18
10 5 10 7
11 1 30 6
这是预期的输出:
> output
user_id plan_id hour
1 1 10 2
2 5 10 8
3 1 10 10
4 1 20 5
5 1 20 8
6 5 10 17
和数据:
> dput(test)
structure(list(user_id = c(1, 2, 3, 4, 5, 1, 5, 1, 1, 5, 1),
plan_id = c(10, 10, 20, 20, 10, 10, 20, 20, 20, 10, 30),
hour = c(2, 4, 23, 12, 8, 10, 6, 5, 18, 7, 6)), .Names = c("user_id",
"plan_id", "hour"), row.names = c(NA, 11L), class = "data.frame")
任何建议将不胜感激!
【问题讨论】:
-
这不是重复的,因为它提供了一个基本的 R 解决方案