如何解决在 R 中,如何像这样对齐自己函数的输出?
在 R 中,我想制作一个函数,当输入是数字的 c() 时,显示它的平均值、变量、最小值、最大值。 但是如何在不使用 summary() 的情况下像图片一样对齐输出?
解决方法
如果我们想获取所选统计信息的摘要,请使用 lapply
循环遍历 list
并根据 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),min = min(x))
} else if(is.character(x)|is.factor(x)) {
table(x)
} else NA
)
}
然后调用
summary_fun(iris)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。