我希望从我的Boxplot Stat。
我设法通过以下代码获得了原始结果:
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
i可以精确一行或一列分别添加[,1]或[1,],即:我可以提取一组的最小/第1个四分位数/中位数/3rd Quartile/max/max,或以示例为示例:
> 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]的简单方法来获得类似的东西:
[,1] median [lower quartile-upper quartile].
我可以手动做,但我有数百个变量可以保存...任何建议都将不胜感激!感谢Advance
如果您使用的是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
作为
output <- paste0(med, " [", liqr,"-" ,uiqr,"]")
希望这会有所帮助。