我正在尝试从重塑的数据集中粘贴字符串。我正在使用 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]
然而,这只给出了一个与原始帧完全相同的新帧,除了变量名。我希望输出是两个连接的向量,其中变量粘贴在一起。我怎样才能做到这一点?
我正在尝试从重塑的数据集中粘贴字符串。我正在使用 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]
然而,这只给出了一个与原始帧完全相同的新帧,除了变量名。我希望输出是两个连接的向量,其中变量粘贴在一起。我怎样才能做到这一点?
为了完整起见,官方回答:
如果您改用paste(y,collapse=",")
它,它应该可以工作。
该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]