0
我有一个包含6个元素的列表,需要一些汇总统计信息。每个元素具有不同数量的观察值,但都具有相同的9个变量。它们是使用分割创建的,因此每个元素都是不同的处理方式。我想创建一个表格:n,min,max,mean,SD,5th分位数和95分位数)。列表中包括所有需要的信息,包括地图
我使用功能map()
功能的purrr包,它与lapply()
类似,但更容易调试。
来源:lapply(test,summary)
我能得到最小值,最大值,平均
n和SD我能得到下列要求:
mdl_summary= map(test,col_summary, sd) %>%
lapply(., setNames, nm=colnames %>%
map(.,t) %>%
lapply(., function(x) {
row.names(x)=deparse(substitute(sd))
return (x)
})
与col_summary是另一个函数代码:
col_summary <- function(df, fun) {
output <- vector("numeric", length(df))
for (i in seq_along(df)) {
output[[i]] <- fun(df[[i]])
}
output
}
但我不能得到分位数...
我也尝试将mdl_summary
归纳为mdl_summary_fun
,但不能让rowname说它运行的函数。
mdl_summary_fun= function (x,f)
map(x,col_summary, f) %>%
lapply(., setNames, nm=colnames(mdl$Statistics[2:10])) %>%
map(.,t) %>%
lapply(., function(x) {
row.names(x)=deparse(substitute(f))
return (x)
})
列表?什么类型的元素?引导?矩阵? Dataframes?请提供一些可复制示例的数据。在列表的几个元素上使用'dput()'。有了一些数据,这个问题将在几个小时前得到解答! – Parfait