[英]R data.table: How to update rows by reference with column names supplied as vector?
我想更新 data.table 的某些行。 但是,我无法使用列名访问向量。
什么是正确的方法?
MWE:
require(data.table)
dt <- data.table(a=c(1,2), b=c(3,4))
cols <- colnames(dt)
vec <- c(9,10)
dt[2,(cols):= list(vec)] # Not working
dt[2,(..cols):= list(vec)] # Not working
只需稍作修改:
dt[2, (cols) := as.list(vec)]
要了解发生了什么,请比较两个版本:
as.list(vec)
# [[1]]
# [1] 9
#
# [[2]]
# [1] 10
list(vec)
# [[1]]
# [1] 9 10
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.