当前位置: 首页 > 科技观察

R语言绘制数据:Graphs_0

时间:2023-03-12 14:24:00 科技观察

R语言有很多绘图和数据可视化的包,比如graphics,lattice,ggplot2等。这是R语言系列的第9篇文章,我们将介绍R中用于绘图的各种函数。本文使用的R版本为4.1.2,运行环境为ParabolaGNU/Linux-libre(x86-64)。R是免费软件,不提供任何形式的保证。只要它符合GNU通用公共许可证的第2版或第3版,您就可以(修改和)重新分发它。有关详细信息,请参阅https://www.gnu.org/licenses/。折线图我们以印度消费者物价指数(CPI--rural/urban)数据集为研究对象,可以从https://data.gov.in/catalog/all-india-consumer-price获取-index-ruralurban-0下载。选择“asofNovember2021”版本,使用read.csv函数读取下载文件,如下图:然后使用plot函数绘制折线图:plot函数可以传入如下参数:参数说明x向量类型,用于在x轴上绘制数据Y向量或列表类型,使用的数据绘制y轴类型设置绘图类型:p画点;l画线;;s绘制阶梯线;h绘制铅垂线xlimx轴范围ylimy轴范围maintitlesubsubtitlexlabx-axistitleylabyaxistitleaxes逻辑类型,是否绘制坐标轴结果如图1。图1:折线图自相关图自相关图可以显示时间序列分析中变量是否存在自相关,并且可以用R中的acf函数绘制。acf函数可以设置三种类型的自相关:correlation,covarianceorpartial.图2是旁遮普邦CPI值的自相关图,其中x表示CPI。图2:ACF图表acf函数可以传入以下参数:参数说明x一个单变量或多变量时间序列对象,或数值向量或数值矩阵lag.max最大滞后阶数typestring,设置要计算的自相关类型:correlation,covarianceorpartialplotlogical,ifTRUE则绘制图像,ifFALSE打印描述信息传入数据的i一组要保留的时差滞后j要保留的一组名称或数字直方图直方图的函数是barplot。以下代码用于绘制旁遮普CPI直方图,如图3所示:图3:旁遮普CPI折线图barplot函数使用起来非常灵活,可以传入以下参数:参数说明height数值向量或数值矩阵,包含用于绘图的数据。Width数值向量,用于设置列宽。空间。列间距。除了逻辑类型。如果为FALSE,绘制堆叠直方图,如果TRUE,绘制并排直方图Density数值类型,设置阴影线的填充密度(条数/英寸),默认为NULL,即,没有填充阴影线angle数值型,填充线的角度,默认为45border列边缘颜色mainTitlesubsubtitlexlabx轴标题ylaby轴标题xlimxaxisrangeylimyaxisrangeaxes逻辑类型,是否绘制坐标轴使用help命令查看barplot函数的详细信息:Piecharts绘制饼图时要多加注意,因为饼图不一定能表现出坐标轴之间的差异部门。(LCTT译注:根据统计学家和一些心理学家的研究结果,这种按比例显示数据的统计图形实际上是一种非常糟糕的可视化方式。因此,在R关于饼图的帮助文件中明确指出,饼图不建议使用图表,而应使用条形图或点图。)使用Subset函数得到2021年1月GujaratState的Rural、Urban、Rurual+Urban的CPI值:使用pie函数生成GujaratState的CPI值饼图,如下图:图4:饼图chartpie函数可以传入如下参数:参数说明`x元素大于0的数值向量label字符向量,用于设置饼图每个扇区radius半径的标签clockwise逻辑型,如果TRUE,顺时针绘制,如果FALSE,逆时针绘制density数值型,设置阴影线的填充密度(线数/英寸),默认为NULL,即不填充阴影线角度数值型,填充线的角度,默认为45列数值向量,用于设置每个扇形线型的颜色??ltymaintitleboxplot(LCTT译注:Boxplot主要从四分位数的角度描述数据的分布,它通过最大值(Q4),上四分位数Number(Q3)、中位数(Q2)、下四分位数(Q1)和最小值(Q0)五个位置,得到一维数据分布的概貌。我们知道这5个位置依次包含4条数据,每条数据量占数据总量的1/4。通过每条数据的长度,我们可以大致推断出数据的集中度或分散度。长度越短,这个区间的数据越密集,反之亦然。)箱线图可以用“胡须”来表示一个变量的四分位距(简称IQR=Q3-Q1)。使用上下四分位数加/减内四分位数范围,再乘以一个人为设置的倍数范围(见下面的参数列表)得到范围*c(Q1-IQR,Q3+IQR),数据点超出这个范围的则视为异常值,在图中直接以点的形式表示。boxplot函数可以传入如下参数:参数描述data数据框或列表,当参数类型为公式x数值向量或列表时使用,如果是列表,则每个子对象依次制作一个箱线图。宽度设置框的宽度。Outline逻辑类型,设置是否绘制异常值。名称设置每个框的标签。Border设置每个框的边缘颜色范围扩展倍数,设置盒图的末端(whisker)延伸到plot逻辑类型,设置是否生成图像,如果为TRUE,则生成一个image,如果为FALSE,则打印并传入数据描述信息Horizo??ntalLogic类型,设置箱线图是否水平放置使用boxplot函数绘制一些状态的箱线图:图5:BoxplotQQ图QQ图Quantile-Quantile图可以用于比较两个数据集也可以用来检查数据是否服从某种理论分布。qqnorm函数可以绘制正态分布的QQ图,可以检验数据是否服从正态分布。使用以下代码绘制旁遮普邦CPI数据的QQ图:图6:Q-Q图qqline函数可以为正向状态分布QQ图添加一条理论分布曲线,可以在下面传入parameters:参数说明x第一个数据样本y第二个数据样本datax逻辑类型,设置是否使用x轴代表理论曲线的值,默认为FALSEprobs长度为2的数值向量,代表概率xlabx轴标题ylaby轴标题qtype[1,9]整数,设置分位数计算类型,见help(quantile)Contourmap的类型部分Contourmap可以描述三维数据,R中对应的函数是contour,这个函数也可以用来加现有图表的轮廓线。等高线图通常与其他图表结合使用。我们使用Contour在R中的Volcano数据集(奥克兰的火山地形信息)上绘制等高线图,代码如下:图7:VolcanoContour函数常用参数如下:Parameters描述点的位置在x,y中值对应的平面上,yzz数值向量nlevels设置等高线的数量和调整等高线的密度labels等高线上的标记字符串,默认为高度的值xlim设置x轴的范围ylim设置y轴的范围zlim设置z轴的范围axes设置是否绘制坐标轴col设置轮廓线的颜色lty设置线条的类型lwd设置线条的粗细vfont设置标签字体轮廓线之间的区域可以用颜色填充,每种颜色代表一种高度范围,如下图:填充结果见图8。图8:填充火山掌握以上内容后,可以尝试R语言图形包列表中的其他函数和图表)。