我試圖做一些事情非常簡單,data.table
一個表中的所有行,我失去了慣用的方式做到這一點我如何可以選擇匹配另一個表
library(data.table)
set.seed(1)
DT = data.table(a=sample(letters,1e5,T), b=sample(letters,1e5,T), c=rnorm(1e5))
DT2 = data.table(a=sample(letters,5,T), b=sample(letters,5,T))
DT2
a b
1: k h
2: e v
3: f n
4: m q
5: w v
我想選擇的行DT
與DT2
相匹配。 因此,操作後的行數將始終小於初始表。
我想要的東西,這樣做:
> DT[paste(a,b) %chin% DT2[,paste(a,b)]]
a b c
1: m q -0.4974579
2: e v -0.1325602
3: w v -1.8081050
4: m q 0.9025120
5: w v -0.4958802
---
729: f n 0.5604650
730: f n -1.2607321
731: m q 0.5146013
732: m q -1.8329656
733: k h -0.9752011
> DT2[paste(a,b) %chin% DT[,paste(a,b)]]
a b
1: e v
2: f n
3: k h
4: m q
5: w v
>
你想要第一個結果,還是第二個?或兩者?如果是後者,那是不同的問題。 – BrodieG
我想要這兩個,或者提醒我爲什麼我不能得到它 – statquant