使用带有reduce的分组摘要时保留TIBLES列 问题:
当在包含tibble的列上使用使用带有reduce的分组摘要时保留TIBLES列 问题:,r,dplyr,purrr,R,Dplyr,Purrr,当在包含tibble的列上使用tibble%>%groupby()%>%summary(…=reduce(…)时,我希望输出保持为tibble列。我如何才能最有效地做到这一点 最简单的例子: 设置 vec1=rnorm(10) vec2=rnorm(10) vec3=rnorm(10) vec4=rnorm(10) tib=tibble(grpvar=系数(c('a','a','b','b')) tib$col2=1 tib$col2[1]=TIBLE(vec1) tib$col2[2]=tib
tibble%>%groupby()%>%summary(…=reduce(…)
时,我希望输出保持为tibble列。我如何才能最有效地做到这一点
最简单的例子:
设置
vec1=rnorm(10)
vec2=rnorm(10)
vec3=rnorm(10)
vec4=rnorm(10)
tib=tibble(grpvar=系数(c('a','a','b','b'))
tib$col2=1
tib$col2[1]=TIBLE(vec1)
tib$col2[2]=tibble(vec2)
tib$col2[3]=tibble(vec3)
tib$col2[4]=tibble(vec4)
这就是它看起来的样子:
grpvar col2
1A
2A
3 b
4 b
一个非常小的TIBLE,其中包含一个用于分组的变量,另一列包含包含长度为10的向量的TIBLE
问题
在摘要中使用reduce
简化了输出
tib%>%分组依据(grpvar)%>%汇总(aggr=reduce(col2,`+`))
收益率:
grpvar aggr
1A-0.0206
...
10A-0.101
...
20 b 0.520
在这里,tibble变得很长。。。我不希望每个组变量有10行,而是只需要一个包含10个值的TIBLE
所需输出:
这就是它应该看起来的样子
desired\u outoutWrapreduce
与list
:
tib%>%groupby(grpvar)%>%summary(aggr=list(reduce(col2,`+`)))
输出:
#一个tible:2x2
grpvar aggr
1A
2 b
这很有效。我想知道它的效率有多高,reduce
是否应该提供一个simplify=FALSE
参数。