使用lattice进行高级绘图-- 调节变量

通常情况下,调节变量是因子。但是对于连续的变量应该如何操作呢?一种方法是使用R的cut()函数将连续的变量转化为离散的变量。另一种方法是,lattice包提供的函数可以将连续的变量转化为名为shingle的数据结构。具体来说,连续变量被分成一系列(可能)重叠的范围。例如,函数:

myshingle <- equal.count(x, number=n, overlap=proportion)

将连续的变量x分成n个间隔,重叠比例是proportion,每个间隔里的观测值个数相同,并将其返回为变量myshingle(属于shingle类)。打印或画出对象(例如输入plot(mysingle))将展示shingle的间隔。

一旦变量转化为shingle,就可以使用它来作为一个调节变量。例如,我们使用mtcars数据集来探索汽车每加仑汽油的行驶英里数mpg与以发动机排量disp为条件的汽车重量wt之间的关系。因为发动机排量disp是一个连续的变量,所以首先把它转化为三水平的shingle变量:

displacement <- equal.count(mtcars$disp, number=3, overlap=0)

把这个变量应用到xyplot()函数中:

xyplot(mpg~wt|displacement, data=mtcars,      

 main = "Miles per Gallon vs. Weight by Engine Displacement",

 xlab = "Weight", ylab = "Miles per Gallon",

 layout=c(3, 1), aspect=1.5)

 使用lattice进行高级绘图-- 调节变量_数据结构

结果分析:xyplot是散点图,mpg~wt|displacement意思是汽车每加仑汽油的行驶英里数与以发动机排量为条件的汽车重量之间的关系。layout=c(3, 1)使用了选项来调整面板的布局(一行三列)和aspect=1.5纵横比(高/宽=1.5)来让三组的对比变得更容易。图中的表现形式指出了调节变量的连续性质,较深的颜色表示给定面板中调节变量的范围。


作者:zhang-X​,转载请注明原文链接