R 语言统计 Max 与 Min

Max 与 Min

在上一章中,我们介绍了 mtcars 数据集。

在接下来的几章中,我们将继续使用该数据集。

您已经从 R 语言 Math 一章中了解到 R 有几个内置的数学函数。例如,可以使用 min()max() 函数查找集合中的最小值或最大值:

实例

求变量 hp(马力)的最大值和最小值

  1. Data_Cars <- mtcars
  2. max(Data_Cars$hp)
  3. min(Data_Cars$hp)

结果如下:

[1] 335

[1] 52

现在我们知道最大的马力值是 335,最小的是 52

我们可以查看数据集,试图找出这两个值属于哪辆车:

观察汽车

通过观察表格,看起来最大的 hp 值属于玛莎拉蒂宝来(Maserati Bora),最低的属于本田思域(Honda Civic)。

然而,让 R 语言来实现更容易(也更安全)。

例如,我们可以使用 which.max()which.min() 函数来查找表中最大值和最小值的索引位置:

实例
  1. Data_Cars <- mtcars
  2. which.max(Data_Cars$hp)
  3. which.min(Data_Cars$hp)

结果如下:

[1] 31

[1] 19

或者更好的方法是,把 which.max()which.min() 结合起来,并使用 rownames() 函数获取最大和最小马力汽车的名称:

实例
  1. Data_Cars <- mtcars
  2. rownames(Data_Cars)[which.max(Data_Cars$hp)]
  3. rownames(Data_Cars)[which.min(Data_Cars$hp)]

结果如下:

[1] "Maserati Bora"

[1] "Honda Civic"

现在我们可以确定:

Maserati Bora 是马力最高的车,Honda Civic(本田思域)是马力最低的车。


异常值

max 和 min 也可用于检测异常值。异常值 是一个不同于其他观测值的数据点。

mtcars 数据集中可能存在异常值的数据点示例:

  • 如果一辆车的最大前进档是 11
  • 如果一辆汽车的最小马力是 0
  • 如果一辆车的最大重量是 50000 磅