我有一个语法问题,因为我不理解data.table对我的问题的行为。 与this question类似我想使用预定义的字符向量将两列直接粘贴在一起。我不想创建新列。 MWE:
dt <- data.table(L=1:5,A=letters[7:11],B=letters[12:16])
cols<-c("A", "B")
我可以使用不带括号的列名直接粘贴,而不是另一个问题
dt[,paste0(A,B)]
但我不能使用= F或.SD
dt[,paste0(cols),with=F]
dt[,paste0(.SD),.SDcols=cols]
为什么我必须使用do.call?
dt[,do.call(paste0,.SD), .SDcols=cols]