热线电话:13121318867

登录
2018-11-02 阅读量: 895
ggplot2--条形图

条形图虽然简单,但很有意思,因为它可以揭示出图形中的一些微妙信息。我们看一下用 geom_bar() 函数就可以绘制的基本条形图。下面的条形图显示

了 diamonds 数据集中按照 cut 变量分组的各种钻石的总数量。 diamonds 数据集是 ggplot2

的内置数据集,包含大约 54 000 颗钻石的信息,每颗钻石具有 price、 carat、 color、

clarity 和 cut 变量。条形图显示,高质量切割钻石的数量要比低质量切割钻石的数量多:

ggplot(data = diamonds) +
geom_bar(mapping = aes(x = cut))

条形图 x 轴显示的是 cut,这是 diamonds 数据集中的一个变量。 y 轴显示的是 count,但

count 不是 diamonds 中的变量!那么 count 来自哪里呢?很多图形绘制的是数据集的原始

数据,比如散点图。另外一些图形则可以绘制那些计算出的新数据,比如条形图。

• 条形图、直方图和频率多边形图可以对数据进行分箱,然后绘制出分箱数量和落在每个

分箱的数据点的数量。

• 平滑曲线会为数据拟合一个模型,然后绘制出模型预测值。

• 箱线图可以计算出数据分布的多种摘要统计量,并显示一个特殊形式的箱体。

绘图时用来计算新数据的算法称为 stat(statistical transformation, 统计变换)。下图描述了

geom_bar() 函数的统计变换过程。

(3) geom_bar() 使用变换后的数

据进行绘图, cut映射到x轴,

count映射到y

(1) geom_bar()从

diamonds数据

集开始处理

(2) geom_bar() 使用

“数量”统计变换

对数据进行转换,

返回切割值和计

数的数据集

通过查看 stat 参数的默认值,你可以知道几何对象函数使用了哪种统计变换。例

如, ?geom_bar 显示出 stat 的默认值是 count,这说明 geom_bar() 使用 stat_count() 函数

进行统计变换。 stat_count() 在文档中与 geom_bar() 位于同一页,如果继续向下看,你可

以发现名为“Computed variables”的一节,它告诉我们 stat_count() 会计算出两个新变

量: count 和 prop。

通常来说,几何对象函数和统计变换函数可以互换使用。例如,你可以使用 stat_count()

替换 geom_bar() 来重新生成前面那张图:

ggplot(data = diamonds) +
stat_count(mapping = aes(x = cut))

可以这样做的原因是,每个几何对象函数都有一个默认统计变换,每个统计变换函数都有

一个默认几何对象。一般情况下,这意味着你在使用几何对象函数时不用担心底层的统计

变换。想要显式使用某种统计变换的 3 个原因如下。

• 你可能想要覆盖默认的统计变换。在以下代码中,我们将 geom_bar() 函数的统计变换

从计数(默认值)修改为标识。这样我们就可以将条形的高度映射为 y 轴变量的初始值。

遗憾的是,当随意说起条形图时,人们指的可能就是这种条形图,其中条形高度已经存

可以使用 stat_summary() 函数将人们的

注意力吸引到你计算出的那些摘要统计量上。 stat_summary() 函数为 x 的每个唯一值计

算 y 值的摘要统计:

ggplot(data = diamonds) +
stat_summary(
mapping = aes(x = cut, y = depth),

在于数据中,而不是像前一个图一样,条形

0.0000
1
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子