如何从箱线图中提取和格式化中值和 IQR
How to extract and format Median and IQR from a boxplot
我希望从我的箱线图统计数据中提取中值和四分位距并设置格式。
我设法用这行代码得到了原始结果:
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,],即:我可以为一组或一组提取 min/1st quartile/median/3rd quartile/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] 提取和格式化中值和 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
作为
output <- paste0(med, " [", liqr,"-" ,uiqr,"]")
希望对您有所帮助。
我希望从我的箱线图统计数据中提取中值和四分位距并设置格式。
我设法用这行代码得到了原始结果:
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,],即:我可以为一组或一组提取 min/1st quartile/median/3rd quartile/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] 提取和格式化中值和 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
作为
output <- paste0(med, " [", liqr,"-" ,uiqr,"]")
希望对您有所帮助。