【发布时间】:2023-03-05 23:02:01
【问题描述】:
假设我有两个数据框。每个都有一个 DAY、一个 MONTH 和一个 YEAR 列以及另一个变量 C 和 P。我想以两种不同的方式合并两个数据框。首先,我按数据合并:
test<-merge(data1,data2,by.x=c("DAY","MONTH","YEAR"),by.y=c("DAY","MONTH","YEAR"),all.x=T,all.y=F)
这非常有效。第二个合并是我遇到问题的那个。因此,我目前已将 data1 中 1996 年 1 月 5 日的值和 data2 中 1996 年 1 月 5 日的值合并到一个数据框中,但现在我想将第三个值合并到新数据框的每一行中。具体来说,我想将 data2 中 1996 年 1 月 4 日的值与 1996 年 1 月 5 日的两个值合并。关于以这种方式灵活地进行合并的任何提示?
样本数据:
data1
C DAY MONTH YEAR
1 1 1 1996
6 5 1 1996
5 8 1 1996
3 11 1 1996
9 13 1 1996
2 14 1 1996
3 15 1 1996
4 17 1 1996
data2
P DAY MONTH YEAR
1 1 1 1996
4 2 1 1996
8 3 1 1996
2 4 1 1996
5 5 1 1996
2 6 1 1996
7 7 1 1996
4 8 1 1996
6 9 1 1996
1 10 1 1996
7 11 1 1996
3 12 1 1996
2 13 1 1996
2 14 1 1996
5 15 1 1996
9 16 1 1996
1 17 1 1996
【问题讨论】:
-
很难说没有关于你正在处理的日期的更多细节。可能您可以将它们转换为日期,然后转换为数字,然后将它们四舍五入,如此接近的天数是相同的...或者如果您每个月只有一个日期,则仅合并月份和年份...您能提供一些示例吗数据,以便我们可以看到您正在使用什么?另外,附带说明一下,您不需要指定
by.x和by.y。merge将找到匹配的列并将它们合并。