R数据科学1.7练习题

(1) stat_summary() 函数的默认几何对象是什么?不使用统计变换函数的话,如何使用几何对象函数重新生成以上的图?

stat_summary() 的默认几何对象是 geom_pointrange(),即点、线范围图,它会在给定位置绘制点和误差线。

(2) geom_col() 函数的功能是什么?它和 geom_bar() 函数有何不同?

  1. geom_col():

    geom_col() 直接使用数据中的 y 值来生成柱形图。这意味着你需要明确提供 x 和 y 的数据值。
    功能:它按照你提供的 y 值来绘制柱状图。

  2. geom_bar():

    geom_bar() 则不需要提供 y 值,默认情况下它会统计数据的频次或计数并生成柱形图。它的 y 轴值默认使用计数(count)或指定统计变换(如比例 ...prop...)。

  3. 区别:
    geom_col() :直接使用给定的 y 值。
    geom_bar():计算 y 值为分类的计数或比例。

(3) 多数几何对象和统计变换都是成对出现的,总是配合使用。仔细阅读文档,列出所有成对的几何对象和统计变换。它们有什么共同之处?

  1. geom_bar() 和 stat_count():绘制柱状图,默认统计分类频数。
  2. geom_smooth() 和 stat_smooth():绘制平滑趋势线,默认计算线性模型或局部回归。
  3. geom_point() 和 stat_identity():绘制散点图,直接使用原始数据,不进行额外统计变换。
  4. geom_histogram() 和 stat_bin():绘制直方图,默认统计数据的分布频次。
  5. geom_boxplot() 和 stat_boxplot():绘制箱线图,统计五数摘要(最小值、下四分位数、中位数、上四分位数、最大值)。
    共同之处:几何对象用于定义图形外观,而统计变换则决定如何从数据生成几何对象所需的统计值。例如,geom_bar() 绘制柱状图,stat_count() 提供所需的计数统计;geom_smooth() 生成平滑曲线,stat_smooth() 计算拟合的回归模型。

(4) stat_smooth() 函数会计算出什么变量?哪些参数可以控制它的行为?

stat_smooth() 主要计算以下变量:

  1. y:平滑曲线的拟合值。
  2. ymin 和 ymax:置信区间的上下边界(如果 se = TRUE)。、

可控制 stat_smooth() 行为的参数:

  1. method:指定平滑方法,例如 lm(线性回归)或 loess(局部加权回归)。
  2. se:是否显示95%的置信区间,默认为 TRUE。
  3. span:用于 loess 回归时,控制平滑程度的参数,值越小,曲线越贴合数据。
  4. formula:指定回归模型的公式,例如 y ~ x。

(5) 在比例条形图中,我们需要设定 group = 1,这是为什么呢?换句话说,以下两张图会有什么问题?

复制代码
ggplot(data = diamonds) +
geom_bar(mapping = aes(x = cut, y = ..prop..))
ggplot(data = diamonds) +
geom_bar(
mapping = aes(x = cut, fill = color, y = ..prop..)
)

在比例条形图中,设定 group = 1 是为了确保 y = ...prop... 计算的是总体比例,而不是分组比例。如果不设定 group = 1,则 ...prop... 会根据默认的分组(即 fill 的分组变量)来计算比例,这会导致错误的图形显示。

相关推荐
leaves falling11 分钟前
C++模板进阶
开发语言·c++
坐吃山猪41 分钟前
Python27_协程游戏理解
开发语言·python·游戏
gCode Teacher 格码致知41 分钟前
Javascript提高:小数精度和随机数-由Deepseek产生
开发语言·javascript·ecmascript
椰猫子1 小时前
Javaweb(Filter、Listener、AJAX、JSON)
java·开发语言
盛世宏博北京2 小时前
以太网温湿度传感器运维技巧,提升设备稳定性与使用寿命
开发语言·php·以太网温湿度传感器
代码改善世界2 小时前
【MATLAB初阶】矩阵操作(一)
开发语言·matlab·矩阵
覆东流2 小时前
第1天:Python环境搭建 & 第一个程序
开发语言·后端·python
朝阳5813 小时前
rust 交叉编译指南
开发语言·后端·rust
量子炒饭大师3 小时前
【C++ 进阶】Cyber霓虹掩体下的代码拟态——【面向对象编程 之 多态】一文带你搞懂C++面向对象编程中的三要素之一————多态!
开发语言·c++·多态
xiaoshuaishuai84 小时前
C# 实现百度搜索算法逆向
开发语言·windows·c#·dubbo