【发布时间】:2017-09-14 15:30:14
【问题描述】:
我有两个需要合并的数据框。下面是每个组成的示例。这些是学区:第一个是收入,第二个是成绩。
School district revenue
Richland 1 8702
Richland 2 3749
Richland Board 892
Charleston 6324
Greenville 1245
Greenville Board 371
School district grade
Richland 1 A
Richland 2 A+
Charleston B
Greenville D
目标是合并这两个数据框,并将最终结果汇总到与第二(等级)数据框相同的级别。我不得不做一个数据字典来合并它们,因为每个名称都不同(尽管我在这里删除了它以简化),而且还要处理聚合。我打算按以下方式设置我的字典:
School_dist1 School_dist2
Richland 1 Richland 1
Richland 2 Richland 2
????? Richland Board
Charleston Charleston
Greenville Greenville
Greenville Greenville Board
然后我会简单地在 school_dist1 列上进行聚合。正如您所看到的,问题在于,虽然格林维尔委员会可以简单地聚合到格林维尔,但里奇兰委员会需要在两个里奇兰委员会之间(平均分配)。
我尝试使用我能想到的每一个可能的关键字来搜索解决方案,但由于问题的怪异性质,我找不到任何东西。它的要点是,我需要聚合数据,但需要拆分一些观察结果,然后在它们被聚合到的其他观察值之间共享。
有没有办法做到这一点?我说得有道理吗?我完全被这个难住了。
【问题讨论】:
-
如果您显示您的尝试代码会很有帮助
-
我真的不知道从哪里开始。我什至不知道这是否可能,这就是我在这里的原因。我通常可以在这里搜索并在途中弄清楚,但我找不到任何人询问如何做类似的事情。
-
听起来您可能需要使用
dplyr包中的连接函数之一。您可能想要的是full_join。这里有一个很好的描述:r4ds.had.co.nz/relational-data.html#introduction-7
标签: r merge dplyr aggregate plyr