如何在data.table中用多个字符向量选择变量(无需合并)
在data.table中直接使用两个字符向量选择列的方法
方法1:结合..语法与c()临时组合向量
无需提前创建合并后的新向量,直接在..后用c()组合两个字符向量即可,代码示例:
IV = c("X1", "X2", "X3") DV = c("Y1", "Y2", "Y3") dt[, ..c(IV, DV)]
这里c(IV, DV)会临时合并两个向量,..语法会将其解析为列名完成选择。
方法2:使用.SDcols参数
利用data.table的.SDcols参数指定目标列,配合.SD(代表Subset of Data)实现选择,代码示例:
dt[, .SD, .SDcols = c(IV, DV)]
这种方式可读性更强,也是data.table推荐的列选择用法之一。
报错原因说明
dt[, ..(IV+DV)]报错是因为两点:一是+运算符无法合并字符向量;二是..是data.table的特殊引用语法,并非函数,不能以..(...)的函数调用形式使用。
内容的提问来源于stack exchange,提问作者some
相关产品推荐
相关产品推荐

