跳到主要内容

R 语言 - 均值和中值

在统计学中,我们通常对三个值感兴趣:

英文中文说明
Mean均值算术平均值
Median中值中位数
Mode众数一组数据中出现次数最多的那个数

均值(Mean)

假设我们要从 mtcars 数据集中计算变量的平均值,那么需要找到所有值的总和,并将总和除以值的数量。

观察 wt (weight) 值的排序:

1.5131.6151.8351.9352.1402.2002.3202.465
2.6202.7702.7802.8753.1503.1703.1903.215
3.4353.4403.4403.4403.4603.5203.5703.570
3.7303.7803.8403.8454.0705.2505.3455.424

使用 mean() 函数计算车辆重量(wt)的平均值:

Data_Cars <- mtcars

mean(Data_Cars$wt)

结果为:

[1] 3.21725

中值(Median)

中值是在对所有值进行排序后位于中间的值。如果数据数量为奇数,则中值为中间的那个数;如果数据数量为偶数,则中值为中间的那两个数值的平均值。

下面我们看一下 wt 变量的值(来自 mtcars 数据集),我们可以比较容易找到中间有两个数字。

观察 wt (weight) 值的排序:

1.5131.6151.8351.9352.1402.2002.3202.465
2.6202.7702.7802.8753.1503.1703.1903.215
3.4353.4403.4403.4403.4603.5203.5703.570
3.7303.7803.8403.8454.0705.2505.3455.424

注意:如果中间有两个数字,则必须将这些数字的总和除以二,才能找到中位数。

幸运的是,R 有一个函数可以为你完成所有这些工作 —— 只需使用 median() 函数即可找到中间值。

Note: If there are two numbers in the middle, you must divide the sum of those numbers by two, to find the median.

Luckily, R has a function that does all of that for you: Just use the median() function to find the middle value:

示例:计算车辆重量(wt)的中间值

Data_Cars <- mtcars

median(Data_Cars$wt)

结果为:

[1] 3.325

众数(Mode)

众数是出现次数最多的值。

R 没有计算众数的函数。但是,我们可以创建自己的函数来查找它。

如果我们看一下 wt 变量的值(来自 mtcars 数据集),我们会看到数字 3.440 经常出现。

观察 wt (weight) 值的排序:

1.5131.6151.8351.9352.1402.2002.3202.465
2.6202.7702.7802.8753.1503.1703.1903.215
3.4353.4403.4403.4403.4603.5203.5703.570
3.7303.7803.8403.8454.0705.2505.3455.424

我们不用自己去数,可以用下面的代码来找出众数。

Data_Cars <- mtcars

names(sort(-table(Data_Cars$wt)))[1]

结果为:

[1] "3.44"

从上面的例子中,我们现在知道在 mtcars 数据集中 wt 变量出现次数最多的数字是 3.443.440 lbs