获取此信息的最简单方法是保存boxplot()调用结果并提取$stats组件.使用内置ToothGrowth数据集,
b <- boxplot(len~supp,data=ToothGrowth)
b$stats
## [,1] [,2]
## [1,] 8.2 4.2
## [2,] 15.2 11.2
## [3,] 22.7 16.5
## [4,] 25.8 23.3
## [5,] 30.9 33.9
Run Code Online (Sandbox Code Playgroud)
更一般地说,您可以手动执行此类操作
with(data,lapply(split(age,medal),boxplot.stats))
Run Code Online (Sandbox Code Playgroud)
有许多涉及其他的解决方案by()或plyr,dplyr,data.table包...
再次使用ToothGrowth:
(bps <- with(ToothGrowth,lapply(split(len,supp),boxplot.stats)))
$OJ
$OJ$stats
[1] 8.2 15.2 22.7 25.8 30.9
$OJ$n
[1] 30
$OJ$conf
[1] 19.64225 25.75775
$OJ$out
numeric(0)
$VC
$VC$stats
[1] 4.2 11.2 16.5 23.3 33.9
$VC$n
[1] 30
$VC$conf
[1] 13.00955 19.99045
$VC$out
numeric(0)
Run Code Online (Sandbox Code Playgroud)
如果您只想要5个数字的摘要,可以按如下方式提取它们:
sapply(bps,"[[","stats")
OJ VC
[1,] 8.2 4.2
[2,] 15.2 11.2
[3,] 22.7 16.5
[4,] 25.8 23.3
[5,] 30.9 33.9
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1041 次 |
| 最近记录: |