R - Reduce()不适用于中位数

时间:2013-11-29 23:05:13

标签: r

我一直在做:

mylist<- c(2,5,19,29)
Reduce("+", mylist)

结果:

[1] 55 

没有任何问题。但是,我需要做一个中位数,所以我做了:

Reduce(median, mylist)

给我:

[1] 2

但答案应该是:

median(unlist(hom))
[1] 12

有人能解释为什么Reduce()这样做了吗?

1 个答案:

答案 0 :(得分:11)

Reduce需要二进制操作。 median不是。您使用Reduce计算的内容基本上类似于median(2, median(5, median(19, 29))) 2,因为median的第二个参数被解释为median的第二个参数'na 。室”。

Reduce(median, mylist) = median(2, median(5,median(19,29)))
= median(2, median(5,19))
= median(2, 5)
= 2