如何在 r 中创建水平箱线图
箱线图(有时称为箱须图)是显示数据集的五位数摘要的图,其中包括以下值:
- 最低限度
- 第一个四分位数
- 中位数
- 第三个四分位数
- 最大限度
要在 R 基础中创建水平箱线图,可以使用以下代码:
#create one horizontal boxplot boxplot(df$values, horizontal= TRUE ) #create several horizontal boxplots by group boxplot(values~group, data=df, horizontal= TRUE )
要在ggplot2中创建水平箱线图,我们可以使用以下代码:
#create one horizontal boxplot ggplot(df, aes (y=values)) + geom_boxplot() + coordinate_flip() #create several horizontal boxplots by group ggplot(df, aes (x=group, y=values)) + geom_boxplot() + coordinate_flip()
以下示例展示了如何在 R 和 ggplot2 中创建水平箱线图。
示例 1:基础 R 中的水平箱线图
以下代码显示如何在 R 中为数据框中的变量创建水平箱线图:
#create data df <- data. frame (points=c(7, 8, 9, 12, 12, 5, 6, 6, 8, 11, 6, 8, 9, 13, 17), team=rep(c(' A ', ' B ', ' C '), each= 5 )) #create horizontal boxplot for points boxplot(df$points, horizontal= TRUE , col=' steelblue ')
以下代码展示了如何基于组创建多个水平箱线图:
#create data df <- data. frame (points=c(7, 8, 9, 12, 12, 5, 6, 6, 8, 11, 6, 8, 9, 13, 17), team=rep(c(' A ', ' B ', ' C '), each= 5 )) #create horizontal boxplots grouped by team boxplot(points~team, data=df, horizontal= TRUE , col=' steelblue ', las= 2 )
请注意, las=2参数告诉 R 使 y 轴标签垂直于轴。
示例 2:ggplot2 中的水平箱线图
以下代码展示了如何在 ggplot2 中为变量创建水平箱线图:
library (ggplot2) #create data df <- data. frame (points=c(7, 8, 9, 12, 12, 5, 6, 6, 8, 11, 6, 8, 9, 13, 17), team=rep(c(' A ', ' B ', ' C '), each= 5 )) #create horizontal boxplot for points ggplot(df, aes (y=points)) + geom_boxplot(fill=' steelblue ') + coordinate_flip()
以下代码展示了如何在 ggplot2 中基于组创建多个水平箱线图:
library (ggplot2) #create data df <- data. frame (points=c(7, 8, 9, 12, 12, 5, 6, 6, 8, 11, 6, 8, 9, 13, 17), team=rep(c(' A ', ' B ', ' C '), each= 5 )) #create horizontal boxplot for points ggplot(df, aes (x=team, y=points)) + geom_boxplot(fill=' steelblue ') + coordinate_flip()