data.table и символьные векторы

В своей работе я часто ссылаюсь на списки переменных как на один вектор символов.

A <- data.table(var1 = 1:10, var2 = 11:20, var3 = 21:30)
vecvar <- c("var1", "var2", "var3")

По возможности, Я хочу использовать vecvar , а не перечислять переменные, так как это делает мой код более надежным для будущих приложений с немного другими списками переменных.

Недавно я обнаружил data.table , и как бы мне ни нравилась общая элегантность синтаксиса и повышение эффективности, я обнаружил, что это немного противоречит моим предпочтениям, изложенным выше. Действительно, A [, vecvar] не будет работать.

Я не знаю, как лучше всего обойти это.

A [, vecvar, with = F] будет работают, но не всегда удобны (например, A [, list (vecvar, var1 + var2), with = F] работать не будет).

A [, sapply (vecvar, get)] не будет работать, хотя A [, sapply (vecvar, function (x) get (x))] будет.

Я не застрял, так как у меня есть способы справиться с этим - я просто хочу знать, как лучше всего с этим работать, прежде чем я приобрету плохие привычки!

10
задан Roman Luštrik 26 March 2011 в 07:15
поделиться