У меня есть таблица данных, с которой я хотел бы выполнить одну и ту же операцию в определенных столбцах. Имена этих столбцов указаны в символьном векторе. В этом конкретном примере я хотел бы умножить все эти столбцы на -1.
Некоторые данные игрушки и вектор, указывающие соответствующие столбцы:
library(data.table)
dt <- data.table(a = 1:3, b = 1:3, d = 1:3)
cols <- c("a", "b")
Сейчас я делаю это так, перебирая вектор символов:
for (col in 1:length(cols)) {
dt[ , eval(parse(text = paste0(cols[col], ":=-1*", cols[col])))]
}
Есть ли способ сделать это напрямую без цикла for?