在本篇,我们将一起学习lattice包,它可以实现网格图形,并且提供了一系列创建统计图形的复杂方法。
像ggplot2一样,lattice图形有自己的语法,提供了对基础图形的替代方案,而且擅长绘制复杂数据。怎么样?小编这样解释,大家是否明白了lattice包的基本作用?下面我们来进行系统的学习。
首先我们来看一下网格图形的生成。网格图形能够展示变量的分布或变量之间的关系,每幅图代表一个或多个变量的各个水平。
大家一起来思考一下,纽约合唱团各声部的歌手身高是如何变化的?
一起来解决一下这个问题吧。
install.packages("lattice") library(lattice) histogram(~height | voice.part,data=singer, main="Distribution of Height by Voice Pitch",xlab="Height(inches)")
怎么样?是不是有一点儿小惊喜啊?
在网格图中,调节变量的每个水平生成一个独立的面板。如果指定多个调节变量,这些变量因子水平的每个组合都会生成一个面板。面板被分配到数组中以便比较。在每个面板名为条带的区域中会提供一个标签。
正如我们看到的,用户可以控制每个面板的图形,条板的格式和放置的位置,面板的安排,图例的放置和内容,以及许多其他的图形特征。下面我们来划重点。
在lattice中,每个高水平的画图函数都服从下面的格式:
graph_function(formula,data=,options) 其中:graph_function是一个函数; formula指定要展示的变量和任意的调节变量; data=指定数据框; options是用逗号分隔的参数,用来调整图形的内容、安排和注释。
下面我们再来看一个例子。
attach(mtcars) gear<-factor(gear,levels=c(3,4,5),labels=c("3 gears","4 gears","5 gears")) cyl<-factor(cyl,levels=c(4,6,8), labels=c("4 cylinders","6 cylinders","8 cylinders")) densityplot(~mpg,main="Density Plot",xlab="Miles per Gallon") detach(mtcars)
再来看一个。
splom(mtcars[c(1,3,4,5,6)],main="Scatter Plot Matrix for mtcars Data")
是不是很简单,如果大家想学习其他的函数,记得用help哟。
下面我们来看看lattice包中的高水平画图函数能产生可保存和修改的图形对象的方法。
newgraph<-updata(mygraph,col="red",pch=16,cex=0.8,jitter=0.05,lwd=2)
我们接着延用了歌手的例子,看到代码,是不是比较简单,更改的结果保存在newgraph里啦。很简单哟。
本次我们就到这里,先带大家了解一下lattice包,之后我们对其进行详细的学习,下次不见不散!