我想将字符向量列表合并到一个数据帧中。例如我想要
list(A=c("123","456"), B=c("789"), C=c("000"))
成为:
label val
1 A 123
2 A 456
3 B 789
4 C 000
我提出了以下内容。它可以工作,但看起来笨拙。有没有更优雅的方式来执行上述操作?
l <- list(A=c("123","456"), B=c("789"), C=c("000"))
res <- lapply(names(l), function(x) {
data.frame(label=rep(x, length(l[[x]])), val=l[[x]],
stringsAsFactors = F) })
do.call("rbind", res)
您可以使用良好的老式基数R。
stack(l)
# values ind
# 1 123 A
# 2 456 A
# 3 789 B
# 4 000 C
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句