我在 R 中有一个 data.table,我想动态修改其中一列(但不更改原始对象),然后通过引用选择有限数量的列。我最好的管理如下,但后来我的列名称被更改,有什么建议吗?
tmp <- data.table(a = 'X', b = 'Y', d = 1)
tmp[,.(d = d * - 1, .SD), .SDcols = colNames]
最佳答案
在 j 参数中尝试 c(list(d=d*-1), .SD)
j 需要一个列表
.SD是一个列表
因此,当添加这样的新列时,您只需将其放入列表中并与 c
函数结合即可。
关于用于动态创建和选择的 R data.table 语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64756524/