【发布时间】:2020-08-20 04:16:51
【问题描述】:
我目前在 R 中工作,但我也可以在 stata 中解决这个问题,提供一些帮助。
我有两个非常大的数据集。一个包含家庭及其位置,另一个包含按日期和位置的天气数据。我最终需要一个数据集,其中每一行都是一个家庭,并包含按位置与该家庭匹配的天气数据。在此数据集中,每一列都将标识该观察的日期。
为了简单起见,我在 R 中创建了三个示例数据框。
第一个模拟我的家庭数据:
house.id location.id
1 10001 a
2 10002 b
3 10003 c
4 10004 c
5 10005 a
第二个模拟我的天气数据:
date location.id temperature
1 2020-01-01 a 70
2 2020-01-01 b 71
3 2020-01-01 c 74
4 2020-01-02 a 61
5 2020-01-02 b 63
6 2020-01-02 c 61
7 2020-01-03 a 57
8 2020-01-03 b 50
9 2020-01-03 c 64
最后一个显示了我的最终目标是什么:
house.id location.id 2020-01-01 2020-01-02 2020-01-03
1 10001 a 70 62 57
2 10002 b 71 63 50
3 10003 c 74 61 64
4 10004 c 74 61 64
5 10005 a 70 62 57
如您所见,每个家庭都从其位置 ID 中提取天气数据,并使用以日期命名的附加列(从第二个数据集中获取)附加。
显然我手动创建了第三个数据集,否则我不会在这里要求代码。我需要弄清楚如何从前两个数据集自动生成第三个数据集,以便我可以在两个更大的数据集上执行该过程。
任何帮助将不胜感激!
【问题讨论】:
-
在 Stata 中,这基本上是位置标识符上的
merge。从 Stata 的角度来看,对于大多数用途而言,宽布局可能是一个糟糕的选择。保持长久。
标签: r dataframe merge append stata