【问题标题】:How to combine fields with duplicate keys, to comma separated [duplicate]如何将具有重复键的字段组合为逗号分隔[重复]
【发布时间】:2021-12-20 09:51:00
【问题描述】:

我有一个 data.frame,它有一个键 fignum 和一个数据字段 codefile,但其中 fignum 可能重复。

如果出现重复,我想将codefile 数据字段组合成一行,并以, 分隔。这是我的意见:

> cf
   fignum                       codefile
8     4.6           04_6-cholera-water.R
9     P.3 04_P3a-cholera-neighborhoods.R
10    P.3       04_P3b-SnowMap-density.R
11    5.5    05_5-playfair-east-indies.R

> duplicated(cf[,"fignum"])
[1] FALSE FALSE  TRUE FALSE

所需的输出将两个“P.3”codefile 值组合成一个观察值,如下所示:

> cf-wanted
   fignum                                                  codefile
8     4.6                                      04_6-cholera-water.R
9     P.3  04_P3a-cholera-neighborhoods.R, 04_P3b-SnowMap-density.R
10    5.5                               05_5-playfair-east-indies.R

【问题讨论】:

    标签: r string key


    【解决方案1】:

    我们可以通过fignumgroup_by 进行总结

    library(dplyr)
    cf %>% 
      group_by(fignum) %>% 
      summarise(codefile = paste0(codefile, collapse = ', '), .groups = 'drop')
    
    fignum codefile                                                
      <chr>  <chr>                                                   
    1 4.6    04_6-cholera-water.R                                    
    2 5.5    05_5-playfair-east-indies.R                             
    3 P.3    04_P3a-cholera-neighborhoods.R, 04_P3b-SnowMap-density.R
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-07
      • 1970-01-01
      相关资源
      最近更新 更多