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]

Antworten auf die Frage(8)

Ihre Antwort auf die Frage