ggplot2的新特性:显示二维统计量
ggplot2包可称得上是R语言中更为巨大和炫目标画图包了。本博客也用了一系列文章对该包举办了先容。在最近的3月初,其版本从0.89进级到了0.90,进级后的新版本提供了很多新的成果。个中之一是增强了对二元变量统计指标的显示本领。在之前的版本中,只能在图形中显示一元变量的统计指标(stat_summary)。对付二元变量只能显示简朴的计数指标(stat_bin2d)。新版内情当于在二者基本上的进级,其主函数为stat_summary2d可能stat_summary_hex。下面我们先来熟悉下老版本中的两个函数,再先容新函数。尚有一点要留意的是,R内核需要进级到2.14以上才气利用新的ggplpot2。
本文的例子是R中内置的钻石数据(diamonds),其顶用到的变量包罗价值(price),重量(carat)以及某种尺寸指标(depth)。先绘制carat和price之间的散点图来相识二者干系,从下图可见,由于数据量过大,尽量利用了透明度参数,散点仍很是麋集。
为了简化数据,我们可以对同一重量的钻石求价值均值,从下图来就简捷了很多。虽然另一种简化要领就将carat举办区间分组,然后用箱线图来表示。
假如要同时思量carat和depth两个变量,我们可以绘制如下的二元直方图。可调查到当carat较低,同时depth在60阁下时,数据样本最多。
假如要插手price变量一并观察的话,就需要利用的stat_summary2d函数。从下图可调查到carat越大,price越高。并且给定carat条件下,depth在60阁下的价值相对较高。
stat_summary2d函数答允将任一个函数值映射到矩形的颜色上,好比说想调查price的变异系数在差异区块的变革环境,我们可以从下图到得直观的显示。
相关代码如下:
# 第一张图,简朴的散点图
d <- ggplot(diamonds, aes(x=carat, y=price))
d + geom_point(alpha=0.3,colour=’lightskyblue4′)
# 第二张图,展示stat_summary的成果
d + stat_summary(fun.y=’mean’,geom=’point’,colour=’lightskyblue4′)
# 第三张图,展示stat_bin2d的成果
d <- ggplot(diamonds, aes(x=carat, y=depth))
d + stat_bin2d()
# 第四张图,展示stat_summary2d的成果
d <- ggplot(diamonds, aes(x=carat, y=depth, z=price))
d + stat_summary2d()
# 第五张图
d + stat_summary2d(fun = function(x) sd(x)/mean(x))