假設我有兩個數據表:R數據表:LEFT OUTER JOIN
X <- data.table(id = 1:5, L = letters[1:5])
id L
1: 1 a
2: 2 b
3: 3 c
4: 4 d
5: 5 e
Y <- data.table(id = 3:5, L = c(NA, "g", "h"), N = c(10, NA, 12))
id L N
1: 3 NA 10
2: 4 g NA
3: 5 h 12
有沒有可能做一個左外使用內置函數表的數據由id
加盟X
和Y
?如果不是這樣,我想建立一個函數(如leftOuterJoin
)與下列預期輸出:
leftOuterJoin(X, Y, on = "id")
id L N
1: 1 a NA
2: 2 b NA
3: 3 NA 10
4: 4 g NA
5: 5 h 12
我都沒有成功嘗試:
X[Y, on = "id"]
id L i.L N
1: 3 c NA 10
2: 4 d g NA
3: 5 e h 12
我也嘗試過這一點,這是幾乎我在尋找:
setkey(X, id)
setkey(Y, id)
merge(X, Y, all.x = TRUE)
id L.x L.y N
1: 1 a NA NA
2: 2 b NA NA
3: 3 c NA 10
4: 4 d g NA
5: 5 e h 12
@jogo看起來不錯,但我的問題是,我將不得不重新分配,我想更新每個變量/加。這是我想避免的,因爲我的數據表有很多列。 – mat