我有在某列一個項目列表對象下列數據表:訪問列表成員在數據表中
require(data.table)
col <- c(list(c("A", "B", "C", "D", "E")),
list(c("A", "B", "E", "F")),
list(c("B", "C", "D", "E")))
dt <- data.table(a = c("Jon", "Josh", "Laura"), b = col, c = c(1, 2, 3))
我想什麼做的是一列添加到plainstring
dt
其中包含「b」列中的字符串。我試過
dt[, plainstring := b[.I][[1]]]
但這不起作用(我猜是誤解了.I)。有任何想法嗎?
所需的輸出將是
> dt
a b c plainstring
1: Jon A,B,C,D,E 1 A,B,C,D,E
2: Josh A,B,E,F 2 A,B,E,F
3: Laura B,C,D,E 3 B,C,D,E
其中對於每一行i
,dt$plainstring[i]
是一個字符矢量和等於unlist(dt$b[i])
。
如果它是每個列表項'DT [,plainstring的第一個元素:=不公開(lapply(B,'[',1))]'或' dt [,plainstring:= unlist(b)[1],by = c]' – akrun 2014-12-27 17:00:48
@AnandaMahto,謝謝,添加它。這說明了嗎? – johnl 2014-12-27 17:08:29
'dt [,plainstring:= toString(unlist(b)),by = c]' – akrun 2014-12-27 17:09:16