前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R语言系列第六期:②R语言基本绘图(下)

R语言系列第六期:②R语言基本绘图(下)

作者头像
百味科研芝士
发布2019-05-23 22:55:03
1.2K0
发布2019-05-23 22:55:03
举报
文章被收录于专栏:百味科研芝士

有许多类型的图形对描述两变量间的关系很有帮助。

先把上一节的数据展示一下,方便回顾和利用:

YEAR(1960-2010):数据收集的年代。

UNEMPLOY:居民失业率,按百分比计算。

SURPLUS:联邦财政预算的盈余(正向)或亏损(负向),按当年国民生产总值的百分比计算。

PARTY:数据收集年份中总统所代表的的政党,其中R代表共和党,D代表民主党。

> year

[1] 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971

[13] 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983

[25] 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995

[37] 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007

[49] 2008 2009 2010

> unemploy

[1] 5.5 6.7 5.5 5.7 5.2 4.5 3.8 2.8 3.6 3.5 4.9 5.9 5.6 4.9 5.6

[16] 8.5 7.7 7.1 6.1 5.8 7.1 7.6 9.7 9.6 7.5 7.2 7.0 6.2 5.5 5.3

[31] 5.6 6.8 7.5 6.9 6.1 5.6 5.4 4.9 4.5 4.2 4.0 4.7 5.8 6.0 5.5

[46] 5.1 4.6 4.6 5.8 9.3 9.6

> surplus

[1] 0.1 -0.6 -1.3 -0.8 -0.9 -0.2 -0.5 -1.1 -2.9 0.3

[11] -0.3 -2.1 -2.0 -1.1 -0.4 -3.4 -4.2 -2.7 -2.7 -1.6

[21] -2.7 -2.6 -4.0 -6.0 -4.8 -5.1 -5.0 -3.2 -3.1 -2.8

[31] -3.9 -4.5 -4.7 -3.9 -2.9 -2.2 -1.4 -0.3 0.8 1.4

[41] 2.4 1.3 -1.5 -3.5 -3.6 -2.6 -1.9 -1.2 -3.2 -10.0

[51] -8.9

> party

[1] "R" "R" "D" "D" "D" "D" "D" "D" "D" "D" "R" "R" "R" "R" "R"

[16] "R" "R" "R" "D" "D" "D" "D" "R" "R" "R" "R" "R" "R" "R" "R"

[31] "R" "R" "R" "R" "D" "D" "D" "D" "D" "D" "D" "D" "R" "R" "R"

[46] "R" "R" "R" "R" "R" "D"

A. 散点图

当两个变量均为定量变量时即可使用散点图。用两个变量分别记录物品的两个特征,散点图可在直角坐标图上描绘变量组成的有序数对。(回归模型使用过)

> plot(surplus,unemploy,type="p",ylab="unemployment")

#Tips:通过图形显示,unemploy和surplus之间的关系为:在盈余较大的年份中,伴有较低的失业率。但是不要急于下结论。这种关系并不一定是因果关系。可能这两个变量都是随其他的“潜”变量的变动而改变,也可能经济变量对政府政策的响应存在重要的时间滞后期。

可以说,散点图是科研中的战马,在原创科研报告中,常会出现大量的散点图及其他双变量图形。

B. 并列箱线图

下面我们来看一下总统的政党派别与经济变量之间的关系如何。若要依据属性进行分类后,对定量变量进行比较,那么绘制并列箱线图是一个有用的方法。对属性变量分类后,每个箱线图中仅包含特定类别中定量变量的几个数字。我们按变量party分类,绘制unemploy的并列箱线图。

> boxplot(unemploy~party,range=0,names=c("Democratic","Republican"),boxwex=0.5,ylab="Civilian unemployment")

#Tips:可发现民主党总统与共和党总统预算年份中,失业率有非常明显的差异。当然,两部分数据有部分重合,但民主党执政的年份中,其失业率整体低于共和党。图形展示了定量变量(unemploy)和属性变量(party)之间的关联。若不存在关联或几乎不存在关联,则每个箱线图的五个特征点的高度应该差不多。

#Tips:箱线图语句的参数如下,其关键参数为unemploy~party,它是R参数中常见语句,大致意思是“按照执政党划分失业率”得到的结果是,箱线图函数根据不同的政党类别分别绘制图形。参数range=0将图的末端(须)延长至最大值和最小值。有时由于产生机制可能不同于其他原始数据,数据集中会含有“离群值”或极端的数据点。根据离群点的判断准则,箱线图的另一种形式仅将末端延伸到准则所定义的位置,并在末端外将意思离群点用符号单独标记。参数names=可对输出图形中各分类型变量的类别命名,参数boxwex=0.5将箱子的宽度设置为默认宽度的一半。

C. 条形图

条形图普遍应用于商学和管理学中,而在自然科学中并不经常用到。在R中,条形图很容易绘制。在最简单情况下,这些绘制图形的命令仅需要一个数值型向量作为参数。

我们用条形图并列展示民主党和共和党预算年的失业率均值。在R中,条形图命令barplot()需要一个数值型变量来对其绘制条形图。如果有多个数值那么会绘制多条结果,所以首先要计算出两个变量的均值,并将其组成向量进行绘图。

下面要设法将全部民主党和共和党在预算年的失业率从unemploy中分离出来。我们可以通过下面的程序代码来实现:

> unemp.D=unemploy[party=="D"]

> unemp.R=unemploy[party=="R"]

> D.mean=mean(unemp.D)

> R.mean=mean(unemp.R)

> mns=c(D.mean,R.mean)

> mns

[1] 5.247619 6.463333

> barplot(mns)

得到一个看上去很单调的条形图。想要更窄的条形,或添加标签,或增大条形间距,或带标签的更长的纵轴的话,可以进行如下修改:

> barplot(mns,xlim=c(0,1),width=0.1,ylim=c(0,7),

+ ylab="average unemployment",names.arg=c("Dem","Rep"),space=2)

#Tips:xlim规定了x轴的起止点。当然,这里的x轴中没有标注数值。只是用来区分两组。Width设定条形宽度,使得条形的宽度为默认设置的0.1倍,参数ylim设定y轴的范围。names.arg为每个条形添加字符串作为标签。最后,参数space=2将条形的间距设置为条形宽度的2倍。

D. 饼图

饼图与条形图不同的是它重点展示的是组内的构成比,绘制饼图的pie()以向量为参数,其中向量中包含需要比较的数字。数字的相对大小由图中的扇形表示。饼图将总值作为整体,对各部分的百分比进行比较。在经济数据中,或许可看一下民主党和共和党在预算年中各自所占的百分比。

> num.yrs=c(length(unemp.D),length(unemp.R))

> num.yrs

[1] 21 30

> pie(num.yrs)

我们得到的图形看上去只提供了有限信息,可以在图形上加上一些描述性的标签。

> pie(num.yrs,labels=c("Democratic","Republican"))

小结

上一部分和这个部分是给大家介绍了简单的画图操作,包括各种常用的图形的展示,在本章基本的绘图中,没有讲解色彩的使用。只有在饼图中扇形会自动添加默认颜色,除此之外,其他的颜色大多都是黑白的。我们会在之后的内容中为大家介绍颜色的使用。当然各种图形的设定肯定不止我们所列出来的这些内容,更多的参数和设定需要大家自己查阅手册或检索。

我们作图系列的第一部分内容简单绘图功能就到此为止了。我们高级绘图见吧。

参考资料: 1.《R语言统计入门(第二版)》 人民邮电出版社 Peter Dalgaard著 2.《R语言初学者指南》 人民邮电出版社 Brian Dennis著 3. Vicky的小笔记本《blooming for you》by Vicky

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-05-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 百味科研芝士 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档