在R中,如何像这样对齐自己函数的输出



在此处输入图像描述

在R中,我想做一个函数,当输入是数字的c((时,显示它的均值、var、min、max。但是,如果不使用summary((,如何像图片一样对齐输出呢?

有这样打印的函数吗??除summary((

如果我们想获得所选统计信息的摘要,请使用lapplylist上循环,并根据if/else条件获得这些输出

lapply(iris, function(x) if(is.numeric(x)) 
c(mean = mean(x), var = var(x), max = max(x), min = min(x)) else table(x))

-输出

#$Sepal.Length
#     mean       var       max     min      
#5.8433333 0.6856935 7.9000000 4.3000000 
#$Sepal.Width
#     mean       var       max       min    
#3.0573333 0.1899794 4.4000000 2.0000000 
#$Petal.Length
#    mean      var      max     min     
#3.758000 3.116278 6.900000 1.000000 
#$Petal.Width
#     mean       var       max      min     
#1.1993333 0.5810063 2.5000000 0.1000000 
#$Species
#x
#    setosa versicolor  virginica 
#        50         50         50 

它可以被包装成一个函数

summary_fun <- function(dat) {
lapply(dat, function(x)
if(is.numeric(x)) {
c(mean = mean(x), var = var(x), max = max(x), min = min(x))
} else if(is.character(x)|is.factor(x)) {
table(x)
} else NA
)
}

然后呼叫

summary_fun(iris)

最新更新