Que sintaxe data.table para a junção esquerda (uma coluna) para preferir

Como devo começar a pensar em qual sintaxe eu prefiro?

Meus critérios são eficiência (este é o número um) e também legibilidade / manutençã

Est

A <- B[A, on = .(id)] # wow such. concision

Ou aquil

A[B, on = .(id), comment := i.comment]

Or even (como PoGibas sugere):

A <- merge(A, B, all.x = TRUE)

Para completar, uma maneira mais básica é usarmatch():

A[, comment := B[chmatch(A[["id"]], id), comment]]

Exemplo de dados:

library(data.table)
A <- data.table(id = letters[1:10], amount = rnorm(10)^2)
B <- data.table(id = c("c", "d", "e"), comment = c("big", "slow", "nice"))

questionAnswers(1)

yourAnswerToTheQuestion