连接作为列表元素的字符串向量

Concatenate string vector which is element of the list

我需要连接嵌套在列表中的字符串。字符串向量的长度不同,因此无法转换为数据框。

列表如下:

x <- list( a = letters[1:3], b = LETTERS[4:9])

> x
$a
[1] "a" "b" "c"

$b
[1] "D" "E" "F" "G" "H" "I"

期望的输出:

[1] "a_b_c" "D_E_F_G_H_I"

我考虑过使用 sapply,但至少以下方法不起作用:

sapply(x, function(z) paste(z, '_'))

此外,它会产生超级奇怪的空格(很明显,我不明白 sapply 是如何工作的。

您没有为 collapse:

提供参数
sapply(x, function(z) paste(z, collapse='_'))
            a             b 
      "a_b_c" "D_E_F_G_H_I" 

更好的方法是简单地将它用作 sapply 中的参数。你不需要分隔符,所以我建议 paste0,它默认有 ""

sapply(x, paste0, collapse='_')