Я потерян при оценке by
в data.table
. Что будет правильным способом объединить функции LJ
и LJ2
в одну функцию?Нестандартная оценка in in data.table
LJ <- function(dt_x_, dt_y_, by_)
{
merge(
dt_x_,
dt_y_,
by = eval(substitute(by_)), all.x = TRUE, sort = FALSE)
}
LJ2 <- function(dt_x_, dt_y_, by_)
{
merge(
dt_x_,
dt_y_,
by = deparse(substitute(by_)), all.x = TRUE, sort = FALSE)
}
LJ(
data.table(A = c(1,2,3)),
data.table(A = c(1,2,3), B = c(11,12,13)),
"A")
LJ2(
data.table(A = c(1,2,3)),
data.table(A = c(1,2,3), B = c(11,12,13)),
A)
я получаю выход же обе функции. Неясно, что вы намереваетесь – akrun
это не связано с data.table, 'merge.data.frame' будет вести себя одинаково – jangorecki