Например, если x является матрицей двух переменных (время и X, длина равна len1), а y - матрица двух переменных (время и Y , длина len2), я просто хочу, чтобы объединить й и у, используя следующий код:Почему результат слияния функции больше, чем исходные данные
> 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
почему длину Реза больше len1 решил и len2
Я просто хочу знать, как объединить xa й у того же лаг «Время», х и у различной лаг «Time» удаляется
Обеспечить [воспроизводимые данные] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example). Пробовали фиктивные данные, а 'nrow (res)' меньше, чем 'nrow (x)' и 'nrow (y)'. – zx8754
@ DominicComtois По умолчанию для merge является 'all = FALSE'. – zx8754
Сравните, как для x, так и для y, 'length (x $ Time)' и 'length (unique (x $ Time))' - тогда вы увидите, что, возможно, некоторые времена дублируются, объясняя больший объем полученного результирующего фрейма , –