R可视化和ggplot2

《R数据可视化手册》学习笔记2---快速探索数据(5)箱线图

2023-09-08  本文已影响0人  RSP小白之路

写在前面。

很多时候在处理数据前或者出图前,可能需要先对数据整体情况进行了解。这个时候我们可以用到R基础绘图的语句ggplot2完成目标。

接下来,我们分不同的图形类型进行啃书学习。


5. 绘制箱线图

如何绘制箱线图对不同分布进行比较?

使用ToothGrowth数据集作为示例数据:

> str(ToothGrowth)
'data.frame':   60 obs. of  3 variables:
 $ len : num  4.2 11.5 7.3 5.8 6.4 10 11.2 11.2 5.2 7 ...
 $ supp: Factor w/ 2 levels "OJ","VC": 2 2 2 2 2 2 2 2 2 2 ...
 $ dose: num  0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 ...

当传递给plot函数的x因子型变量时(与数值型变量对应),会绘制箱线图。

plot(ToothGrowth$supp, ToothGrowth$len)
基础绘图系统绘制

当两个向量在一个数据集,可以使用公式语法

boxplot( len~ supp, data = ToothGrowth)

x轴使用两个变量交互:

boxplot( len~ supp + dose, data = ToothGrowth)
基础绘图系统绘制

添加参数geom = "boxplot"

qplot(ToothGrowth$supp,   ToothGrowth$len, geom = "boxplot")
ggplot2绘制

向量在同一数据集时,也可以使用如下语句,是等价的:

qplot(supp, len, data = ToothGrowth, geom = "boxplot")
dev.off()
ggplot(ToothGrowth , aes(supp, len )) + geom_boxplot()

使用interaction选项将分组变量组合在一起绘制多分组箱线图,如果所需数据均在一个数据集下,下面的语句都是等价的:

qplot( interaction(ToothGrowth$supp,  ToothGrowth$dose) , ToothGrowth$len, geom = "boxplot")
dev.off()
qplot( interaction(supp, dose), len, data = ToothGrowth, geom = "boxplot")
dev.off()
ggplot(ToothGrowth , aes(interaction(supp, dose), len )) + geom_boxplot()

都会产生如下数据结果:


qplot绘制

以上。

上一篇下一篇

猜你喜欢

热点阅读