ggplot2(一)

从ggplot2的qplot()开始,qplot()的用法与plot()有一定的相似之处,所以如果熟悉plot(),那么学习起来qplot()也不会太难。

数据集使用diamonds,首先用summary()查看一下数据集的基本特性吧!


数据说明:


然后创建一个含有100条记录的diamonds的子集dsmall:

set.seeds(1410)
dsmall<-diamonds[sample(nrow(diamonds),100),]
set.seeds()应该是给下面的随机取样过程设定的某个条件,具体原理我也不是很清楚,还请多多指教。

sample()用来在所有的diamonds记录中随机抽取100个作为dsmall

最为基本的用法:

qplot()的前两个参数分别是x与y,给出座标点的横纵座标,data参数可选。

qplot(carat,price,data=diamonds)


除了一些显著的outlier以外,x与y有显著的相关性,同时在y轴方向上可以观察到有显著的断面。从图像上看,x与y成指数关系,所以我们可以对两组值进行适当的转换后再重新作图使得趋势更为明显。qplot()的参数可以为函数,所以分别对x值与y值取对数:

qplot(log(carat),log(price),data=diamonds)


看吧,显著的线性关系来了是不是呢!当然了,qplot()还可以接受不同变量的组合作为参数,如果我们想研究钻石的体积与重量之间的关系(体积约等于x*y*z),那么:

qplot(carat,x*y*z,data=diamonds)


从上图中我们基本可以推断出钻石的密度是一个基本恒定值,因为体积与质量的比值是大体不变的。

对座标点颜色,大小,形状以及其他外观参数的设定

在使用qplot()与plot()时最大的不同之一就是对于点的颜色,大小,形状等性质的设定。如果使用plot()函数,你需要自己去将类型变量转换成plot()函数可以识别的控制外观的参数,但是在qplot()中,这一过程可以自动完成:

qplot(carat,price,data=dsmall,color=color


qplot(carat,price,data=dsmall,shape=cut)

对于每一个外观参数,都有一个scale函数将数据与有效地参数逐一对应起来,例如在对座标点颜色进行改变的例子中,函数将J对应为紫色,而将F对应为绿色。

对于像diamonds这样较大的数据及而言,设置点的透明度可以有效地减少座标点重合的问题。alpha参数可以设置为0(完全透明)到1(完全不透明)中的任意值。很多时候,alpha的值可以用分数来表示。

qplot(carat,price,data=diamonds,alpha=I(1/10))
qplot(carat,price,data=diamonds,alpha=I(1/100))
qplot(carat,price,data=diamonds,alpha=I(1/200))


不同的外观参数适用于不同的数据类型。对于分类数据的区分最好用颜色与形状参数,而连续数据最好用大小表示,同时,数据集的大小也是一项重要的考虑因素。

 



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章