5
動態分配的分割數在data.table v.1.9.6
可以像這樣在列拆分變量:在data.table tstrsplit
library(data.table)
DT = data.table(x=c("A/B", "A", "B"), y=1:3)
DT[, c("c1", "c2") := tstrsplit(x, "/", fixed=TRUE)][]
需要拆分[以上:2]的數量並不總是事先已知的。 如何知道分割數量時能夠生成所需的變量名稱?
n = 2 # desired number of splits
# naive attempt to build required string
m = paste0("'", "myvar", 1:n, "'", collapse = ",")
m = paste0("c(", m, ")")
# [1] "c('myvar1','myvar2','myvar3')"
DT[, m := tstrsplit(x, "/", fixed=TRUE)][] # doesn't work
如果指定了更多拆分,則可能會再循環。他們可能在他們的問題中有一個拼寫錯誤:''當已知分割數量時,我怎樣才能生成所需的變量名稱?「。也許他們打算寫「未知」。 –
他們的意思是已知的。已編輯的問題,以[希望]通過設置n = 2來清除。 – Henk
然後上面的答案將做到這一點。 –