Führen Sie einen Semi-Join mit data.table durch
Wie führe ich eineSemi-Join mit data.table? Ein Semi-Join ist wie ein Inner-Join, außer dass nur die Spalten von X (nicht auch die von Y) zurückgegeben werden und die Zeilen von X nicht wiederholt werden, um mit den Zeilen von Y übereinzustimmen. Der folgende Code führt beispielsweise einen Inner-Join aus Beitreten:
x <- data.table(x = 1:2, y = c("a", "b"))
setkey(x, x)
y <- data.table(x = c(1, 1), z = 10:11)
x[y]
# x y z
# 1: 1 a 10
# 2: 1 a 11
Ein Semi-Join würde gerade zurückkehrenx[1]