我一直在做:
mylist<- c(2,5,19,29) Reduce("+", mylist)
结果:
[1] 55
没有任何问题.但是,我需要做一个中位数,所以我做了:
Reduce(median, mylist)
这给了我:
[1] 2
但答案应该是:
median(unlist(hom)) [1] 12
有人可以解释为什么Reduce()
这样做?
Reduce
需要二进制操作.median
不是.你正在计算的Reduce
东西基本上median(2, median(5, median(19, 29)))
是2
因为第二个参数median
被解释为median
第二个参数'na.rm'.
Reduce(median, mylist) = median(2, median(5,median(19,29))) = median(2, median(5,19)) = median(2, 5) = 2