问题描述
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 (将#修改为@)