繁体   English   中英

将列表字符串元素与 R 组合

[英]Combining list string elements with R

我在每个列表 position 中有一个包含多个字符串的列表(见下文)。 如您所见,在列表的每个 position 中都是两个字符串值。 我想组合两个字符串,使它们形成一个字符串并在它们之间插入一个 + 符号。

print(my_list)

>> [[1]]
>> [1] "A" "B"    

>> [[2]]
>> [1] "C" "D" "E" "F"

>> [[3]]
>> [1] "G" "H"   
...

这将是我想要的 output..

print(my_list)

>> [[1]]
>> [1] "A + B"    

>> [[2]]
>> [1] "C + D + E + F"

>> [[3]]
>> [1] "G + H"   
...

到目前为止(作为起点)我已经尝试在 for 循环中使用“粘贴”,就像这样..

for (i in my_list){
  print(paste(i, sep = "+"))
}

这没有达到预期的效果。 它只是复制了每个列表项,并没有在任何地方插入 +。 这是 output..

print(my_list)

>> [1] "A" "B" 
>> [1] "A" "B"    

>> [2] "C" "D" "E" "F"
>> [2] "C" "D" "E" "F"

>> [3] "G" "H"  
>> [3] "G" "H"   
...

有任何想法吗? 干杯

一个简单的 lapply 和 paste 就可以了:

lapply(mylist, function(x) paste(x, collapse = " + "))

# [[1]]
# [1] "A + B"
# 
# [[2]]
# [1] "C + D + E + F"
# 
# [[3]]
# [1] "G + H"

样本数据:

mylist <- list(c("A", "B"),
     c("C", "D", "E", "F"),
     c("G", "H"))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM