我正在尝试使用以下代码在 data.table 中设置一系列值:
db[, `:=`(paste("PAID", c("A", "B", "C"), sep = "_") = .SD * COST,
paste("PAID_NET", c("A", "B", "C"), sep = "_") = .SD * COST * (1 - TAX))
, .SDcols = paste("PRICE", c("A", "B", "C"), sep = "_")]
Run Code Online (Sandbox Code Playgroud)
如果没有paste涉及,这些会起作用,但是有,所以没有。
期望的行为是基于 SOLD_A、SOLD_B、SOLD_C、COST 和 TAX 创建 6 个新列,PAID_A、PAID_B、PAID_C、PAID_NET_A、PAID_NET_B、PAID_NET_C。
怎么了?