【问题标题】:R - Comma delimit a column while adding othersR - 逗号分隔列,同时添加其他列
【发布时间】:2020-05-08 00:55:06
【问题描述】:

我有一个如下所示的数据框:

ID    Age
1     19
2     20
3     56
4     81

我想将列年龄和逗号分隔 ID 相加:

ID         Age
1,2,3,4    176

我试过这个:

aggregate(ID ~., data, toString) 按照这个解决方案:

Collapse / concatenate / aggregate a column to a single comma separated string within each group

但是,这并没有产生预期的结果。

【问题讨论】:

  • aggregate 如何知道你想和Age相加?

标签: r format data-cleaning


【解决方案1】:

我们可以使用dplyr

library(dplyr)
df %>% summarise(ID = toString(ID), Age = sum(Age))

#          ID Age
#1 1, 2, 3, 4 176

data.table

library(data.table)
setDT(df)[, .(ID = toString(ID), Age = sum(Age))]

【讨论】:

    【解决方案2】:

    您可以通过对每一列应用不同的函数来创建一个新的数据框。

    #Your data
    df <- data.frame(ID = c(1:4),
                     Age = c(19,20,56,81))
    #Output
    resul <- data.frame(ID = paste(df$ID, collapse = ","),
                        Age = sum(df$Age))
    
    #       ID Age
    #1 1,2,3,4 176
    

    【讨论】:

      猜你喜欢
      • 2018-07-13
      • 2012-01-24
      • 2021-11-30
      • 1970-01-01
      • 1970-01-01
      • 2018-07-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多