2015-11-28 21 views
-1

我有一個大型的數據表,並且想插入一個包含帶變量列表的字符串的列(該列表是動態大小的)。在data.table中創建高效的動態字符串

例如,如果我知道我的cols列表是長度爲2的,我可以這樣做:

library(data.table) 
cols <- c("Year", "City") 
DT[, Cohort := paste(cols[1], get(cols[1]), ",", cols[2], get(cols[2]))] 

不過,我希望能夠創建這種字符串的,動態的,任意長度cols,使用data.table框架。

任何提示?謝謝!

回答

1

你可以試試:

DT[,Cohort:=do.call(paste,c(Map(paste,cols,.SD),list(sep=", "))),.SDcols=cols]