1. 首页
  2. R语言

【学习】《R实战》读书笔记(第三章)

【学习】《R实战》读书笔记(第三章)

读书会是一种在于拓展视野、宏观思维、知识交流、提升生活的活动。PPV课R语言读书会以“学习、分享、进步”为宗旨,通过成员协作完成R语言专业书籍的精读和分享,达到学习和研究R语言的目的。读书会由辅导老师或者读书会成员推荐书籍,经过讨论确定要读的书,每个月读一本书且要精读,大家一起分享。

第三章 图形入门

本章概要

1 创建和保存图形

2 定义符号、线、颜色和坐标轴

3 文本标注

4 掌控图形维数

5 多幅图合在一起

本章所介绍内容概括如下。

一图胜千字,人们从视觉层更易获取和理解信息。

图形工作

R具有非常强大的绘图功能,看下面代码。

> attach(mtcars)

> plot(wt, mpg)

> abline(lm(mpg~wt))

> title(“Regression of MPG on Weight”)

> detach(mtcars)

效果图如图1所示。

图1:mtcars数据集中wt-mpg线性回归图

图形保存方法可以用RGUI完成或者写代码保存。例如把上图以pdf格式保存在D:/data目录下,代码如下:

> setwd(“E:\data”)

> pdf(“wt-mpg.pdf”)

> attach(mtcars)

> plot(wt, mpg)

> abline(lm(mpg~wt))

> title(“Regresssion of MPG on Weight”)

> detach(mtcars)

>dev.off()

> dir()

一个简单实例

数据集,病人对两种药不同剂量的反映,如图2所示。

图2: 病人对两种药不同剂量的反映

程序清单

> dosage <- c(20, 30, 40, 45, 60)

> responseA <- c(16, 20, 27, 40, 60)

> responseB <- c(15, 18, 25, 31, 40)

> plot(dosage, responseA, type=”b”)

效果图如图3所示。

图3: 不同剂量下,病人对药A的反映图

图像化参数

通过图形化参数定义一个图形的特征(字体、颜色、标题、坐标轴)。利用par()函数指定图形化参数。或者把这些参数至于绘图函数中。现基于两种不同的方式使用图形化参数。

方式一:par()函数

> opar <- par(no.readonly=TRUE)

> par(lty=2, pch=17)

> plot(dosage, responseB, type=”b”)

> par(opar)

方式二:在绘图函数进行参数设置

> plot(dosage, responseB, type=”b”, lty=2, pch=17)

两种方式运行后效果一样,如图4所示:

图4:不同剂量下病人对药B的反映图

R绘图常用参数归纳如下。

符号和线型参数,如图5所示

图5:R符号和线型参数

R符号如6所示,线型如图7所示。

图6:R符号

图7:R线型

颜色参数,如图8所示。

图8:R颜色参数

关于R颜色,可以进一步参阅:http://research.stowers-institute.org/efg/R/Color/Chart

文本参数,如图9所示。

图9:文本尺寸参数

字体参数,如图10所示。

图10:字体参数

面板大小和边距参数,如图11所示。

图11:面板大小和边距参数

基于参数化图形的一个实例。

程序清单如下:

> dose <- c(20, 30, 40, 45, 60)

> drugA <- c(16, 20, 27, 40, 60)

> drugB <- c(15, 18, 25, 31, 40)

> opar <- par(no.readonly=TRUE)

> par(pin=c(2, 3))

> par(lwd=2, cex=1.5)

> par(cex.axis = .75, font.axis=3)

> plot(dose, drugA, type=”b”, pch=19, lty=2, col=”red”)

> plot(dose, drugB, type=”b”, pch=23, lty=6, col=”blue”, bg=”green”)

> par(opar)

图形修饰

图形修饰包括添加文本、自定义坐标轴和说明。例如:

>plot(dose,drugA,type=”b”,col=”red”,lty=2,pch=2,lwd=2,

main=”Clinical Trials for Drug A”,sub=”This is hypothetical data”,

xlab=”Dosage”, ylab=”Drug Resoponse”,

xlim=c(0,60), ylim=c(0, 70))

效果图如图12所示。

图12:图形修饰演示图

图形修饰主要又如下几个方面。

方面一:标题,使用title()函数。

方面二:坐标轴,使用axis()函数。

方面三:参照线,使用abline()函数。

方面四:说明,使用legend()函数。

方面五:文字,使用text()函数。

图形合并

R使用函数par()或者layout()实现图形合并。关于每种方法,演示如下:

方法一:基于par()图形合并

程序清单:

> rm(list=ls())

> attach(mtcars)

> opar <- par(no.readonly=TRUE)

> par(mfrow=c(2,2))

> plot(wt,mpg, main=”Scatterplot of wt vs. mpg”)

> plot(wt,disp, main=”Scatterplot of wt vs disp”)

> hist(wt, main=”Histogram of wt”)

> boxplot(wt, main=”Boxplot of wt”)

> par(opar)

> detach(mtcars)

效果图如图13所示。

图13:基于par()图形合并

方法二:基于layout()图形合并

程序清单:

> layout(matrix(c(1,1,2,3), 2, 2, byrow=TRUE))

> hist(wt)

> hist(mpg)

> hist(disp)

> detach(mtcars)

效果图如图14所示。

图14:基于layou()图形合并

总结

1 图形创建与保存

2 图形修饰与合并

Resource:

1http://www.wangluqing.com/2014/06/r-in-action-note4/

2《R in action》第一部分第三章图形入门

本栏目文章由PPV课R语言读书会提供,转载请注明来自PPV课R语言读书会。版权所有,违者必究!

原文始发于微信公众号(PPV课数据科学社区):【学习】《R实战》读书笔记(第三章)

原创文章,作者:ppvke,如若转载,请注明出处:http://www.ppvke.com/archives/30062

联系我们

4000-51-9191

在线咨询:点击这里给我发消息

工作时间:周一至周五,9:30-18:30,节假日休息