Я пытаюсь обернуть голову квази-цитатой, чтобы я мог использовать ее вместе с data.table
вызовом. Вот пример:
library(data.table)
library(rlang)
dt <- data.table(col1 = 1:10, col2 = 11:20)
dt[, col1]
Если бы я хотел обернуть это в функцию, как бы я это сделал? Я попробовал:
foo <- function(dt, col) {
col <- quo(col)
expr(dt[, !!col1])
}
foo(dt, col1)
Но получилось Error in enexpr(expr) : object 'col1' not found
. Я предполагаю, что пропускаю некоторые шаги, поскольку data.table
оценивает это иначе, чем dplyr
.