Из-за нехватки времени я решил использовать в своем коде таблицы данных вместо фреймов данных, так как они намного быстрее. Тем не менее, я все еще хочу функциональность фреймов данных. Мне нужно объединить две таблицы данных, сохранив все значения (, например, установив 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))
Я знаю, что вы можете объединиться, но я также знаю, что есть более быстрый способ.