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

时间:2015-11-18 16:55:01

标签: r list sapply mapply

我需要连接嵌套在列表中的字符串。字符串向量的长度不同,因此转换为数据帧不是一种选择。

列表如下所示:

OrderedDict

期望的输出:

from collections import defaultdict
d = defaultdict(list)
d['somefile.csv'].extend([3, 4])
print(d)
# defaultdict(<type 'list'>, {'somefile.csv': [3, 4]})
d['somefile.csv']
# [3, 4]

我想过使用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是如何工作的。

1 个答案:

答案 0 :(得分:3)

您没有向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='_')