Question

Dans mon travail, je me réfère souvent aux listes de variables comme un seul vecteur de caractère.

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

Chaque fois que possible, je veux utiliser vecvar Plutôt que d'énumérer les variables, car cela rend mon code plus robuste aux applications futures à des listes légèrement différentes de variables.

J'ai récemment découvert data.table, et autant que j'aime l'élégance générale de la syntaxe et les gains d'efficacité, je trouve qu'il se heurte un peu à mon inclination décrite ci-dessus. En effet, A[, vecvar] ne fonctionnera pas.

Je suis indécis quant à la meilleure façon de contourner cela.

A[, vecvar, with=F] fonctionnera, mais n'est pas toujours pratique (par exemple A[, list(vecvar, var1+var2), with=F] ne fonctionnera pas).

A[, sapply(vecvar, get)] ne fonctionnera pas, cependant A[, sapply(vecvar, function(x) get(x))] sera.

Je ne suis pas coincé, car j'ai des moyens de y faire face - je veux juste savoir quelle est la meilleure façon de travailler avec cela, avant de prendre de mauvaises habitudes!

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top