这是我正在尝试做的一个例子。
dtA <- data.table(A = 1:3, B = 4:6, D = 7:9)
dtB <- data.table(id = c("A", "B", "C", "D"), multi = c(0.1, 0.2, 0.3, 0.4))
for(COL in c("A", "B", "D")) {
dtA[, (COL) := get(COL) * dtB[id == COL, multi]]
}
我需要使用 dtB 中的 id 列将 dtA 中的列乘以乘数,以确定要乘以哪个因子的列。我可以用 for 循环来做,但它很慢。我会喜欢任何关于如何提高效率的建议。谢谢你的帮助!