r - 如何从箱线图中提取和格式化中位数和 IQR
问题描述
我希望从我的箱线图统计中提取并格式化中位数和四分位数范围。
我设法用这行代码得到了原始结果:
b <- boxplot(len ~ dose, data = ToothGrowth)
b$stats
这给了我:
[,1] [,2] [,3]
[1,] 4.20 13.60 18.50
[2,] 7.15 16.00 23.45
[3,] 9.85 19.25 25.95
[4,] 13.00 23.45 28.35
[5,] 21.50 27.30 33.90
我可以分别添加 [,1] 或 [1,] 精确一行或一列,即:我可以提取一组的最小/第一个四分位数/中位数/第三个四分位数/最大值,或者每个子组的一个统计信息:
> b$stats[2,]
[1] 7.15 16.00 23.45
> b$stats[,2]
[1] 13.60 16.00 19.25 23.45 27.30
但我想不出一种简单的方法来提取和格式化每个子组 [,1] [,2] 和 [,3] 的中位数和 IQR 以获得如下结果:
[,1] median [lower quartile-upper quartile].
我可以手动完成,但我有数百个变量要保存......任何建议将不胜感激!提前致谢
解决方案
如果您正在使用boxplot
,请查看list(b)
,它将为您提供输出列表。现在要获得中位数和 IQR,这将是第 3 行(对于中位数)和 2,4(对于 IQR 边界)。
med <- round(b$stats[3, ], 2) #median
liqr<- round(b$stats[2, ], 2) #lower IQR
uiqr<- round(b$stats[4, ], 2) #upper IQR
现在根据您的预期输出,您可能希望使用某种形式的paste
as
output <- paste0(med, " [", liqr,"-" ,uiqr,"]")
希望这可以帮助。
推荐阅读
- javascript - 如何在视频通话中删除用户流媒体 - WebRTC?
- c++ - 包含 CertSrv.h 时导致 MIDL2025 错误的原因是什么?
- facebook - Facebook 服务器端 API(营销 API)
- c# - 在 Controller .NET CORE 中获取特定的 URL
- ios - 为什么在 SwiftUI 中,当使用 .sheet 呈现模态视图时,init() 被调用了两次
- excel - 为什么我从 Web 浏览器和 Excel VBA 获得的 Google API 位置搜索结果不同?
- linux - 允许 Linux 应用程序更多文件句柄时有什么负面影响吗?
- java - 如何获取当前本地时间的 UTC 转换 Java 时间戳?
- javascript - 为什么我的 babel-polyfill 解析 node_modules 目录中的 ts 文件?
- java - 我如何了解 NoResourceException