trim就是截取原始数据的多大部分(从左右两端向中间算起)用于计算,取值为0~0.5。之所以要设置这样一个参数,我猜是为了排除异常值的影响,当数据中有特别小或者大的数据时,可以用trim把它们排除在外。
至于具体计算方法,我没有看源程序,不过通过尝试,我想应该是这样:根据trim的大小,乘以向量长度,然后向下取整(floor),根据这个整数从向量的两端开始数起,排除这么多个数字,然后算平均。
观察这11个数字:
<br />
> x<br />
[1] 1 2 3 4 5 6 7 8 9 10 50<br />
> mean(x, trim = 0)<br />
[1] 9.545455<br />
> mean(x, trim = 0.09)<br />
[1] 9.545455<br />
> mean(x, trim = 0.1)<br />
[1] 6<br />
> mean(x, trim = 0.11)<br />
[1] 6<br />
> mean(x, trim = 0.19)<br />
[1] 6<br />