我有一个像这样的数据框:
ID Age
1 19
2 20
3 56
4 81
我想添加列年龄和逗号分隔ID:
ID Age
1,2,3,4 176
我试过这个:
聚合(ID~., data,toString)
按照这个解决方案:
将列折叠/连接/聚合为每个组中的单个逗号分隔字符串
但是,这并没有产生预期的结果。
您可以通过对每一列应用不同的函数来制作新的数据框。
#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
我们可以使用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))]