如何强制 lapply 绑定输出,就像 apply 对具有相同值的变量所做的那样? 时间

问题描述

apply(mtcars[,c('vs','am')],2,table)

生产

  vs am
0 18 19
1 14 13

但是

lapply(mtcars[,table)

生产

$vs

 0  1 
18 14 

$am

 0  1 
19 13 

我可以像 apply 一样强制 lapply 生成一张表吗?

最后,我想使用具有相同值的不同因变量来计算均值。我使用 lapply 但不想最后执行 cbind:

func.break <- function(indy){
  t(as.data.frame(mtcars 
                      %>% group_by(get(indy)) 
                      %>% summarise_at(depy,funs(mean))
                      )
   )
}

indy <- c('vs','am') 
depy <- c('mpg','qsec')

res.list <- lapply(indy,func.break)
res.list

[[1]]
              [,1]     [,2]
get(indy)  0.00000  1.00000
mpg       16.61667 24.55714
qsec      16.69389 19.33357

[[2]]
              [,2]
get(indy)  0.00000  1.00000
mpg       17.14737 24.39231
qsec      18.18316 17.36000

cbind(as.data.frame(res.list[1]),as.data.frame(res.list[1]))

                X1       X2       X1       X2
get(indy)  0.00000  1.00000  0.00000  1.00000
mpg       16.61667 24.55714 16.61667 24.55714
qsec      16.69389 19.33357 16.69389 19.33357

我想有更优雅的方式吗? 这将如何申请工作?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)