最佳答案
我有一个 data.table,我想用它对某些列执行相同的操作。这些列的名称在字符向量中给出。在这个特殊的示例中,我想将所有这些列乘以 -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 循环的情况下做到这一点?