50 in command"> mean(c(1:10,50))"是什么意思?

时间:2014-11-12 07:41:01

标签: r mean outliers

我通过使用不同的数字代替50来尝试它并得到不同的答案。请有人告诉我这个数字的计算。

1 个答案:

答案 0 :(得分:4)

没有"计算"这个数字背后。很简单,c()创建了一个向量:

> c(1:10, 50)
 [1]  1  2  3  4  5  6  7  8  9 10 50

mean()返回此向量的mean(总和除以长度)。如果你改变数字,平均值也会有所不同。

在统计数据中,这里的数字50就称为outlier。获得对异常值具有鲁棒性的平均值(或者,正式地,衡量中心趋势)的一种方法是计算median

> median(c(1:10, -100))
[1] 5
> median(c(1:10, 50))
[1] 6
> median(c(1:10, 5000))
[1] 6

将此与相同向量的平均值进行比较:

> mean(c(1:10, -100))
[1] -4.090909
> mean(c(1:10, 50))
[1] 9.545455
> mean(c(1:10, 5000))
[1] 459.5455

此示例显示单个异常观察如何能够极大地影响平均值,而不是中位数。