R 基于行名称折叠,但列出所有折叠的值
我有一个数据框,我想根据行名称折叠它,列出列中的所有值(见下文): 我想生成以下输出:R 基于行名称折叠,但列出所有折叠的值,r,collapse,R,Collapse,我有一个数据框,我想根据行名称折叠它,列出列中的所有值(见下文): 我想生成以下输出: name value nameA 10,3,5 nameB 5 nameC 1,44 我可以使用aggregate()进行此操作吗?类似地,我用R求和 sum您的预期输出实际上并不是对任何值求和。相反,您是在连接它们。您可以在aggregate调用中使用c函数 aggregate(value ~ name, dat, c) # name value # 1 nameA 10,
name value
nameA 10,3,5
nameB 5
nameC 1,44
我可以使用aggregate()进行此操作吗?类似地,我用R求和
sum您的预期输出实际上并不是对任何值求和。相反,您是在连接它们。您可以在
aggregate
调用中使用c
函数
aggregate(value ~ name, dat, c)
# name value
# 1 nameA 10, 3, 5
# 2 nameB 5
# 3 nameC 1, 44
其中dat
是您的数据
您还可以使用粘贴
,或toString
(基本上是粘贴(…,collapse=“,”
)
或者,您可以使用dplyr
library(dplyr)
group_by(dat, name) %>% summarize(value = toString(value))
# name value
# 1 nameA 10, 3, 5
# 2 nameB 5
# 3 nameC 1, 44
你可以试试
aggregate(value~name, df, I)
# name value
#1 nameA 10, 3, 5
#2 nameB 5
#3 nameC 1, 44
或使用data.table
library(data.table)
setDT(df)[, list(value=list(value)), by=name]
aggregate(value~name, df, I)
# name value
#1 nameA 10, 3, 5
#2 nameB 5
#3 nameC 1, 44
library(data.table)
setDT(df)[, list(value=list(value)), by=name]