【发布时间】:2015-04-10 07:36:10
【问题描述】:
比如x是两个变量(Time和X,长度是len1)的矩阵,y是两个变量(Time和Y,长度是len2)的矩阵,我只想合并x 和 y,使用以下代码:
> x
Time Value
1 2013-11-03 00:00:11 535.7680
2 2013-11-03 00:00:26 548.6214
3 2013-11-03 00:00:41 543.6477
4 2013-11-03 00:00:56 554.0778
5 2013-11-03 00:01:11 566.5635
6 2013-11-03 00:01:26 555.7684
> y
Time Value
1 2013-11-03 00:00:11 455.4087
2 2013-11-03 00:00:26 457.7967
3 2013-11-03 00:00:41 455.3263
4 2013-11-03 00:00:56 461.9727
5 2013-11-03 00:01:11 460.6974
6 2013-11-03 00:01:26 466.2654
res<-merge(x,y,by="Time")
> res
Time Value.x Value.y
1 2013-11-03 00:00:11 535.7680 455.4087
2 2013-11-03 00:00:26 548.6214 457.7967
3 2013-11-03 00:00:41 543.6477 455.3263
4 2013-11-03 00:00:56 554.0778 461.9727
5 2013-11-03 00:01:11 566.5635 460.6974
6 2013-11-03 00:01:26 555.7684 466.2654
我只是用x和y的头
为什么res的长度大于len1和len2
我只想知道如何将相同滞后“时间”的x和y合并,不同滞后“时间”的x和y被删除
【问题讨论】:
-
提供reproducible data。尝试使用虚拟数据,
nrow(res)小于nrow(x)和nrow(y)。 -
@DominicComtois 默认合并为
all = FALSE。 -
比较,对于 x 和 y,
length(x$Time)和length(unique(x$Time))- 然后你会看到可能有一些时间是重复的,解释了你的结果数据框的更大的 nrow。 -
@JasonV 我怎样才能删除这些重复的时间
-
我想我不能为你回答这个问题......如果整行重复,那么我不明白为什么不这样做,但如果你在其他变量上有不同的值(s ),那么您必须弄清楚是否要保留所有内容,如果不保留,则要删除哪一个!
标签: r merge variable-length