让我们以可靠的cars
为例。汽车有两列cars$speed
,cars$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
我该怎么做?
答案 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()
功能根据数据中的不同组计算摘要。你没有问过这个问题,所以我就停在这里。