R(14):第三章:3.3R语言中的绘图命令

《统计建模与R软件》薛毅

第3章 数据描述性分析

3.3 R语言中的绘图命令

在作图函数中,有两类作图函数,一类是高水平作图函数,另一类是低水平作图函数;高水平作图函数指所有的绘图函数均可产生图形,可以有坐标轴,以及图和坐标轴的说明文字等;低水平作图函数是自身无法生成图形,只能在高水平作图函数产生的图形基础上,增加新的图形。

3.3.1 高水平作图函数

高水平作图函数有:plot, pairs, coplot, qqnorm, qqline, hist, contour等

1.plot()函数

函数plot()可绘制数据的散点图、曲线图等,有以下四种用法:
(1) plot(x, y)
其中x和y是向量,生成y关于x的散点图,例如:
> X1 <- c(35,40,40,42,37,45,43,37,44,42,41,39)
> X2 <- c(60,74,64,71,72,68,78,66,70,65,73,75)
> plot(X1, X2)
绘制以X1向量的值为横坐标,X2向量的值为纵坐标的散点图,但X1和X2两个向量等长,则对应元素才能绘制图形
R(14):第三章:3.3R语言中的绘图命令
(2) plot(x)
> plot(X1)
如果x是时间序列则生成时间序列图形,如果x是向量,则产生x关于下标的散点图,如果x是复数向量,则产生复数的实部与虚部的散点图。
R(14):第三章:3.3R语言中的绘图命令
(3) plot(f),plot(f, y)
其中f是因子,y是数值向量。plot(f)生成f的直方图,plot(f, y)生成y关于f水平的箱线图。
例如:利用四种不同的材料(A1, A2, A3, A4)产生出的元件,测得寿命绘制4种箱线图,通过箱线图看设计出的元件的寿命的差异。
A1 = 1600, 1610, 1650, 1680, 1700, 1700, 1780
A2 = 1500, 1640, 1400, 1700, 1750
A3 = 1640, 1550, 1600, 1620, 1640, 1600, 1740, 1800
A4 = 1510, 1520, 1530, 1570, 1640, 1600
> y<-c(1600,1610,1650,1680,1700,1700,1780,1500,1640,1400,1700,1750,1640,1550,1600,1620,1640,1600,1740,1800,1510,1520,1530,1570,1640,1600)
> f<-factor(c(rep(1,7), rep(2,5), rep(3,8), rep(4,6)))
> f
[1] 1 1 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 3 3 3 4 4 4 4 4 4
Levels: 1 2 3 4#这里设定因子的用意是根据level水平及repeat的个数定义在y向量种对不同数据进行分组,最终进行统计,例如,Levels: 1表示1水平,1 1 1 1 1 1 1重复7次,说明A1组有7个数值,这7个数值倍分在第一个组别,其他组别以此类推。
> plot(f,y)
最后得到4种组别的箱线图
R(14):第三章:3.3R语言中的绘图命令
(4) plot(df),plot(~ expr),plot(y ~ expr)
其中df是数据框,y是任意一个对象,expr是对象名称的表达式如(a+b+c)
例如输入学生的年龄、身高和体重构成数据框
> df<-data.frame(Age=c(13,13,14,12,12,15,11,15,14,14,14,15,12,13,12,16,12,11,15), Height=c(56.5,65.3,64.3,56.3,59.8,66.5,51.3,62.5,62.8,69.0,63.5,67.0,57.3,62.5,59.0,72.0,64.8,57.5,66.5),Weight=c(84.0,98.0,90.0,77.0,84.5,112.0,50.5,112.5,102.5,112.5,102.5,133.0,83.0,84.0,99.5,150.0,128.0,85.0,112.0))
> df
Age Height Weight
1 13 56.5 84.0
2 13 65.3 98.0
3 14 64.3 90.0
4 12 56.3 77.0
5 12 59.8 84.5
6 15 66.5 112.0
7 11 51.3 50.5
8 15 62.5 112.5
9 14 62.8 102.5
10 14 69.0 112.5
11 14 63.5 102.5
12 15 67.0 133.0
13 12 57.3 83.0
14 13 62.5 84.0
15 12 59.0 99.5
16 16 72.0 150.0
17 12 64.8 128.0
18 11 57.5 85.0
19 15 66.5 112.0
> plot(df)
R(14):第三章:3.3R语言中的绘图命令
> attach(df)#把数据框中的变量“链接”到内存中,便于数据框数据的调用。
> plot(~Age+Height)#绘制年龄与身高的散点图
R(14):第三章:3.3R语言中的绘图命令plot还可以作回归诊断图等。

2.显示多变量数据

显示多变量数据,可以用下面两个函数,pairs()和coplot()
pairs()可以对矩阵或数据框的各列绘制散布图。