7

我正在尝试从重塑的数据集中粘贴字符串。我正在使用 data.table 包如下:

m<-data.frame(x=rep(c("a","b"),20),y=factor(sample(letters,40,replace=T)))
DT<-data.table(m)
setkey(DT,x)
DT[,paste(y,sep=","),by=x]

然而,这只给出了一个与原始帧完全相同的新帧,除了变量名。我希望输出是两个连接的向量,其中变量粘贴在一起。我怎样才能做到这一点?

4

2 回答 2

10

为了完整起见,官方回答:

如果您改用paste(y,collapse=",")它,它应该可以工作。

于 2012-10-30T14:05:47.633 回答
0

toString(y)函数产生的结果与 相同paste(y, collapse = ", "),我用它来代替较长的粘贴版本。所以

DT[, toString(y), by = x]

会产生结果

#   x                                                         V1
#1: a v, o, q, p, t, c, y, d, n, r, o, k, v, r, t, n, e, f, g, u
#2: b y, j, t, l, w, r, s, w, b, x, h, j, o, k, a, c, r, c, b, e

这与粘贴相同

DT[, paste(y, collapse = ", "), by = x]
于 2018-07-12T10:05:06.187 回答