J'ai un tableau data.table avec lequel je voudrais effectuer la même opération sur certaines colonnes. Les noms de ces colonnes sont donnés dans un vecteur de caractères. Dans cet exemple particulier, je voudrais multiplier toutes ces colonnes par -1.
Quelques données de jouets et un vecteur spécifiant les colonnes pertinentes :
library(data.table)
dt <- data.table(a = 1:3, b = 1:3, d = 1:3)
cols <- c("a", "b")
Pour l'instant, je le fais de cette façon, en bouclant sur le vecteur de caractères :
for (col in 1:length(cols)) {
dt[ , eval(parse(text = paste0(cols[col], ":=-1*", cols[col])))]
}
Existe-t-il un moyen de faire cela directement sans la boucle for ?