Объединение таблиц данных, таких как фреймы данных в R

Из-за нехватки времени я решил использовать в своем коде таблицы данных вместо фреймов данных, так как они намного быстрее. Тем не менее, я все еще хочу функциональность фреймов данных. Мне нужно объединить две таблицы данных, сохранив все значения (, например, установив all=TRUE в merge ).

Пример кода:

> x1 = data.frame(index = 1:10)
> y1 = data.frame(index = c(2,4,6), weight = c(.2,.5,.3))
> x1
   index
1      1
2      2
3      3
4      4
5      5
6      6
7      7
8      8
9      9
10    10
> y1
  index weight
1     2    0.2
2     4    0.5
3     6    0.3

> merge(x,y, all=TRUE)
      index weight
 [1,]     1     NA
 [2,]     2      1
 [3,]     3     NA
 [4,]     4      2
 [5,]     5     NA
 [6,]     6      3
 [7,]     7     NA
 [8,]     8     NA
 [9,]     9     NA
[10,]    10     NA

Теперь я могу сделать то же самое с таблицами данных? (NA не обязательно должны оставаться, я все равно меняю их на 0 ).

> x2 = data.table(index = 1:10, key ="index")
> y2 = data.table(index = c(2,4,6), weight= c(.3,.5,.2))

Я знаю, что вы можете объединиться, но я также знаю, что есть более быстрый способ.

12
задан Matt Dowle 11 July 2012 в 15:40
поделиться