Qué sintaxis data.table para combinación izquierda (una columna) para preferir

¿Cómo debo comenzar a pensar qué sintaxis prefiero?

Mi criterio es la eficiencia (este es el número uno) y también legibilidad / mantenibilidad.

Est

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

O es

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

O incluso (como sugiere PoGibas):

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

Para completar, entonces una forma más básica es usarmatch():

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

Datos de ejemplo:

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"))

Respuestas a la pregunta(1)

Su respuesta a la pregunta