根据元素名称连接字符向量中的字符串

concatenate strings in a character vector based on element names

我有一个命名的字符向量,a,我想根据它们的名称连接它的一些元素

a <- c('item 1' = 'first_i1', 'item 1' = 'second_i2', 'item 2' = 'only_i2')
a
     item 1      item 1      item 2 
 "first_i1" "second_i2"   "only_i2" 

使用空白 space 作为分隔符的预期结果

a_out <- c('item 1' = 'first_i1 second_i2', 'item 2' = 'only_i2')
a_out
              item 1               item 2 
"first_i1 second_i2"            "only_i2"

我们可以通过使用分组变量作为 vector 'a'

names 来连接 paste
tapply(a, names(a), FUN = paste, collapse = ' ')
#            item 1               item 2 
#"first_i1 second_i2"            "only_i2"