第6章 基本图形

《R语言实战》笔记系列


本章学习大纲

1.条形图、箱线图和点图

2.饼图和扇形图

3.直方图和核密度图

第一部分 条形图、箱线图和点图

条形图

条形图通过垂直的或水平的条形展示了类别型变量的分布(频数),使用函数barplot()即可完成。一般形式是barplot(height)。其中height是一个向量或矩阵。

选项horiz=TRUE代表生成一个水平条形图,还可以添加标注选项。选项main代表添加图形标题,选项xlab和ylab则分别添加x轴和y轴标签。

简单条形图和水平条形图代码
简单条形图和水平条形图图形

如果绘制的类别型变量是一个因子或有序型因子,就可以用函数plot()创建一个条形图。无需用table()函数将其表格化。

plot()函数的直接应用
plot()函数应用图形

堆砌条形图和分组条形图

如果height是一个矩阵而不是向量的话,则绘图结果是一幅堆砌条形图或分组条形图。若beside=FALSE(默认值),则矩阵中的每一列都将生成图形的一个条形,各列中的值将给出堆砌的“子条”的高度。若beside=TRUE,则矩阵中的每一列都表示一个分组,各列中的值将并列而不是堆砌。

堆砌条形图和分组条形图  代码
堆砌条形图和分组条形图  图形

均值条形图

条形图不一定只计算计数数据或频率数据。可以用数据整合函数并将结果传递给barplot()函数,来创建表示均值,中位数,标准差等的条形图。

排序后均值的条形图代码
美国各地区平均文盲率排序的条形图

ps:各个条形可以使用lines()函数绘制的线段连接起来。可以用barplot()里的参数names.arg指定一个字符向量作为条形的标签名。也可以使用图形参数辅助调整文本间隔。

为条形图搭配标签的代码
微调了标签的垂直条形图

棘状图

棘状图(spinogram)对堆砌条形图进行了重缩放,每个条形的高度均为1,每一段的高度即为比例。棘状图可有grid包中的函数spine()绘制。

棘状图示例

第二部分 饼图

饼图由函数pie(x,labels),其中x是一个非负数值向量,表示每个扇形的面积,而labels则是表示各扇形标签的字符型向量。

饼图示例代码

为了改善饼图比较各扇形的值困难的问题,可以使用扇形图(fan plot)的饼图。在R中,扇形图通过plottrix()包中的fan.plot()函数实现的。

扇形图示例代码
饼图和扇形图的示例

第三部分 直方图

直方图通过在X轴上将在值域分割为一定数量的组,在Y轴上显示相应值的频数,展示了连续型变量的分布。通过hist()函数来创建直方图。一般格式为hist(x),其中x是由一个数据值组成的数值向量。参数freq=FALSE表示根据概率密度而不是频数绘制图形。参数breaks用于控制组的数量。在定义直方图中的单元值,默认将生成等距切分。

直方图的代码示例
直方图示例绘制结果

第三部分 核密度图

核密度图是用于估计随机变量概率密度函数的一种非参数方法,是用于观察连续型变量分布的有效方法。绘制密度图的方法(不叠加到另一幅图上方):plot(density(x))。其中x为一数值型向量。若要向一幅已经存在的图形叠加一条密度曲线,可以使用lines()函数。polygon()函数根据顶点的x和y坐标绘制多边形。

密度图示例代码
密度图示例代码绘图结果

核密度图可以用于比较组间差异。可以使用sm包中的sm.density.compare()函数将图形叠加两组或更多的核密度图。一般格式:sm.density.compare(x.factor)。其中x是数值型向量,factor是分组变量。

第四部分 箱线图

箱线图(又称盒须图)通过绘制连续型变量的五数总括,即最小值、下四分数(第25百分位数)、中位数(第50百分位数)、上四分位数(第75百分位数)以及最大值,描述了连续型变量的分布。

简单的箱线图代码示例
箱线图绘图结果
boxplot.stats()函数示例

执行boxplot.stats()即可输出构建图形的统计量。

箱线图可以展示单个变量或分组变量,一般格式:boxplot(formula,data=dataframe)。其中formula是一个公式,dataframe代表提供数据的数据框(或列表)。一个示例公式为y~A,这将为类别型变量A的每个值并列地生成数值型变量y的箱线图。公式y~A*B则为类别型变量A和B所有水平的两两组合生成数值型变量y的箱线图。

添加参数varwidth=TRUE将使箱线图的宽度与其样本大小的平方成正比。参数horizontal=TRUE可以反转坐标轴的方向。

并列箱线图的代码示例
不同汽缸数量车型油耗的箱线图

可以添加notch=TRUE,可以得到含凹槽的箱线图。若两个凹槽互不重叠,则表面它们的中位数有显著差异。

不同汽缸数量车型油耗的含凹槽箱线图

第五部分 小提琴图

小提琴图是箱线图变种,是箱线图与核密度图的结合。用vioplot()函数,一般格式为(x1,x2,....,names=,col=),其中x1,x2,....表示要绘制的一个或多个数值向量(将为每个向量绘制一幅小提琴图)。

未完待续。。。。

你可能感兴趣的:(第6章 基本图形)