【发布时间】:2018-11-18 07:01:26
【问题描述】:
我有以下两张表:
Table_1
ID Interval
1 10
1 11
2 11
和
Table_2
ID Interval Rating
1 10 0.5
1 10 0.3
1 11 0.1
2 11 0.1
2 11 0.2
输出表应如下所示:
ID Interval Mean Ratings
1 10 0.4
1 11 0.1
2 11 0.15
我的目标是根据两个条件/列 ID 和间隔连接两个表。鉴于我对相同的 ID 和区间有多个评分,我想计算 评分的平均值。尽管 ID 是唯一的(~9500),但对于不同的 ID,间隔会重复(如上表所示)。我目前的方法是使用 2 by 参数的 join 函数。如何根据条件 ID 和区间创建 Table_1 和 Table_2 连接的最终表,并在结果列中接收平均评分?
left_join(Table_1, Table_2, by = c("ID" = "ID", "Interval" = "Interval"))
【问题讨论】:
-
我会投反对票,但现在不要这样做。您问了一个问题,详细说明了解决方案的必要步骤 - 一个简单的谷歌会帮助您。关于 SO 的合并/总结有很多。
-
@Tjebo:OP 还需要一个 groupby-and-summarize 步骤。加入不会计算平均值。
-
@smci 同意,因此这不是一个完整的问题,而是两个很容易找到的独立问题。 PS 如果有人投了反对票 - 不是我。
标签: r join group-by dplyr summarize