R数据科学——ggplot2可视化(2)—第二大难点stat统计变换和geom几何对象之间的纠与缠

转载请注明出处:https://blog.csdn.net/xiezhiliang22
《R数据科学》习题答案链接: https://jrnold.github.io/r4ds-exercise-solutions/data-visualisation.html

1 前言

本节主要讲解《R数据科学》ggplot之中的第二大难点,统计变换stat,同时也理清楚geom几何对象之间联系与区别。废话不多说,下面直接进入正题。

:这里有一篇文章写写得很深入,分析地很透彻,到这里发现不管学哪一门语言英语是多么的重要啊,因为绝大部分的问题都是可以在R语言社区里面找到解决的,不多说了,文章链接如下:
https://www.sohu.com/a/200798723_466874

2 问题来源

在这里插入图片描述
还记得咋们说图像上面反应的东西都是原始数据的一一映射吗?但是上面的代码中只有一个cut映射到了x轴,y轴的count变量原始的数据集之中并没有,那么怎么回事呢?
答案书中写的很明了了,是geom_bar暗地里做了一个统计变换,新生成了一个叫做count的数据

3 stat统计变换和geom几何对象关系

大部分的情况 : stat和geom之间是相互可以转换的
在这里插入图片描述
举个例子:
ggplot(mpg,aes(x=class)) + geom_bar() # 使用一个变量做柱状图

ggplot(mpg,aes(x=class)) + stat_count() # 和上面一样
这是没有区别的

但是如果要下面的2个相互转换,那么必须改变默认的参数stat
ggplot(mpg,aes(x=class,y=displ)) + geom_bar(stat=“identity”) # 使用两个变量作柱状图

ggplot(mpg,aes(x=class,y=displ)) + geom_col() # 与上面相同’

为何会这样?geom_bar一般有2个可以选择的stat分别为count和identity,默认为count,而geom_col只有一个默认的identity,所以想要两者相同,那么只有将geom_bar之中的stat进行改变

特殊情况 : 有些参数没有完全进行改变和替换
例子:
ggplot(mpg,aes(x=class,y=displ)) + geom_bar(stat=“identity”)

ggplot(mpg,aes(x=class,y=displ)) + stat_identity(geom=“bar”) # 调换顺序图形不一样了
这2个代码出来的结果却是不一样的,原因为何?在Rstudio查看文档发现还有position参数没有将2者改变成为一样,要想变为一样要使用如下代码:
ggplot(mpg,aes(x=class,y=displ)) + geom_bar(stat=“identity”)

ggplot(mpg,aes(x=class,y=displ)) + stat_identity(geom=“bar”,position=“stack”)

小注 : 有的参数改变不了,变了就会报错,因为geom_col就一个默认参数identity改变不了
ggplot(mpg,aes(x=class)) + geom_col(stat=“count”) # 报错

4 其他疑难点

本节习题之中这个可能会比较难懂一些,如下图:
在这里插入图片描述
在这里插入图片描述
为何会出现这种情况?如上面所讲的,如下
在这里插入图片描述
geom_bar的文档之中有group参数,会count出来一个group ,那么是按照整体算作一组呢?还是一种cut就算作一组呢?当然是整体算作一组咯

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值