码迷,mamicode.com
首页 > 其他好文 > 详细

R实战读书笔记四

时间:2014-06-29 23:02:54      阅读:300      评论:0      收藏:0      [点我收藏+]

标签: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所示。

bubuko.com,布布扣

图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所示。

bubuko.com,布布扣

图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所示。

bubuko.com,布布扣

图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所示:

bubuko.com,布布扣

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

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

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

bubuko.com,布布扣

图5:R符号和线型参数

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

bubuko.com,布布扣

图6:R符号

bubuko.com,布布扣

图7:R线型

颜色参数,如图8所示。

bubuko.com,布布扣

图8:R颜色参数

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

文本参数,如图9所示。

bubuko.com,布布扣

图9:文本尺寸参数

字体参数,如图10所示。

bubuko.com,布布扣

图10:字体参数

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

bubuko.com,布布扣

图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所示。

bubuko.com,布布扣

图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所示。

bubuko.com,布布扣

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

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

程序清单:

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

> hist(wt)

> hist(mpg)

> hist(disp)

> detach(mtcars)

效果图如图14所示。

bubuko.com,布布扣

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

总结

1 图形创建与保存

2 图形修饰与合并

参考资料

王路情博客

R实战读书笔记四,布布扣,bubuko.com

R实战读书笔记四

标签:r语言   数据分析   

原文地址:http://blog.csdn.net/wangloveall/article/details/35373803

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!