我想知道如何根据describeBy()
提供的summary()
函数调用五个数字的统计数据。在调用library(psych)
之后,当前函数报告最小值,最大值和中值,但不报告第25和第75四分位数的统计数据。
attach(mtcars)
describeBy(mpg, gear)
var n mean sd median trimmed mad min max range skew kurtosis se
提前感谢您的帮助。
答案 0 :(得分:2)
还有一个专门针对五个号码的内置基本功能,不出所料地称为:fivenum
aggregate(mpg ~ gear, data=mtcars, fivenum)
gear mpg.1 mpg.2 mpg.3 mpg.4 mpg.5
1 3 10.40 14.50 15.50 18.40 21.50
2 4 17.80 21.00 22.80 28.85 33.90
3 5 15.00 15.80 19.70 26.00 30.40
修改强>
要回答评论中的后续问题(正如我解释的那样),您可以使用公式中的.
来指定所有其他列
aggregate(.~gear, data=mtcars, fivenum)
#too wide to print here
或者,如果您只想要fivenum
所有没有齿轮分割的列,那么就是:
apply(mtcars, 2,fivenum)
mpg cyl disp hp drat wt qsec vs am gear carb
[1,] 10.40 4 71.10 52 2.760 1.5130 14.500 0 0 3 1
[2,] 15.35 4 120.65 96 3.080 2.5425 16.885 0 0 3 2
[3,] 19.20 6 196.30 123 3.695 3.3250 17.710 0 0 4 2
[4,] 22.80 8 334.00 180 3.920 3.6500 18.900 1 1 4 4
[5,] 33.90 8 472.00 335 4.930 5.4240 22.900 1 1 5 8
答案 1 :(得分:0)
更简单:您只需添加 describeBy
参数 quant=c(0.25,0.75))