【发布时间】:2019-10-04 01:51:42
【问题描述】:
我有一个这样的列表:
lst <- list(a = c("y"), b = c("A", "B", "C"), c = c("x1", "x2"))
lst
> lst
$a
[1] "y"
$b
[1] "A" "B" "C"
$c
[1] "x1" "x2"
如果我unlist 它,我会得到:
unlist(lst)
> unlist(lst)
a b1 b2 b3 c1 c2
"y" "A" "B" "C" "x1" "x2"
我怎样才能得到这样的向量:
a b c
"y" "A, B, C" "x1, x2"
编辑:
之前回答了类似的问题Convert a list of lists to a character vector。 @42_sapply( l, paste0, collapse="") 提出的答案可以稍加修改使用:sapply( l, paste0, collapse=", ")。 Ronak Shah 对我的问题的sapply(lst, toString) 更直观一点。
【问题讨论】:
-
谢谢。这与上一个问题略有不同。这些答案的一个小修改将解决我的问题。 Ronak Shah 的解决方案
sapply(lst, toString)比以前的答案更简单。 -
""和", "之一的分隔符似乎没有本质区别 -
对于新的 R 用户来说,我们很难理解像
apply和paste这样的函数。最小的差异可能需要很长时间才能解决。 Ronak Shah 的解决方案直接回答了我的问题,简单明了。我从这个答案中学到了一些新的和有用的东西,这也可以帮助其他人。