【问题标题】:merge columns separated by commas in R [duplicate]合并R中用逗号分隔的列[重复]
【发布时间】:2021-06-01 22:18:33
【问题描述】:

我有一个包含许多列的表,我想将列中的所有文本合并到第一个中。像这样

ID A B C etc
1 aa bb cc
2 ai ao au

进入

ID A B C etc
1 aa,bb,cc
2 ai,ao,au

问题是列的数量,因为我不能一一写下它们的名字。

你能帮帮我吗?

非常感谢!

【问题讨论】:

  • 试试:data.frame(x[1], A=do.call(function(...) paste(..., sep=","), x[-1]))

标签: r merge multiple-columns


【解决方案1】:
df %>%
  tidyr::unite(col = "unitedcol", A:C, sep = ",")

【讨论】:

    【解决方案2】:

    会有更好的方法来做到这一点,但这里有一种快速有效的方法,可以轻松适应您的特定需求。

    df  <-  data.frame(ID = c(1,2),
                       A = c("aa","ai"),
                       B = c("bb","ao"),
                       C = c("cc", "au"))
    
    for(i in 1:nrow(df)){
      df$A[i]  <- paste0(df[i,2:ncol(df)], collapse = ",")  
    }
    

    【讨论】:

      【解决方案3】:

      这行得通吗:

      library(dplyr)
      
      bind_cols(df[1],df %>% rowwise() %>% transmute(A = toString(c_across(cols = -ID))))
        ID          A
      1  1 aa, bb, cc
      2  2 ai, ao, au
      

      使用的数据:

      df
        ID  A  B  C
      1  1 aa bb cc
      2  2 ai ao au
      

      【讨论】:

        猜你喜欢
        • 2011-06-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-05-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多