如何获取列表的每列的摘要

时间:2016-05-03 13:24:01

标签: r function

让我们以可靠的cars为例。汽车有两列cars$speedcars$dist

我想写一个函数,它将在一个步骤摘要中打印出一个可靠的(在这种情况下是汽车)的每一列。它看起来像是:

f<-function(x){
#do some stuff
}

结果:

name of first column:
 Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
4.0    12.0    15.0    15.4    19.0    25.0 
name of second column:
     Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
       2.00   26.00   36.00   42.98   56.00  120.00 

我该怎么做?

2 个答案:

答案 0 :(得分:5)

如果您想作为输出列表

f <- lapply(cars, summary)

如果你想要一个矩阵

f <- sapply(cars, summary)

答案 1 :(得分:1)

如果您想要的只是分位数和均值,中位数的摘要,那么只需在数据框上调用summary()即可。它将为您提供每列的摘要。如果你想打电话给其他职能......

这是一个很好的方案,dplyr。请查看summarise_each()summarise()

假设您要查找每列的平均值并使输出成为其自己的数据框:

install.packages('dplyr')
library(dplyr)
new_df <- summarise_each(cars, funs(mean))

## Subsetting to only summarize specific columns
new_df <- summarise_each(cars[, c('speed', 'dist')], funs(mean))

您还可以使用group_by()功能根据数据中的不同组计算摘要。你没有问过这个问题,所以我就停在这里。