我一直在做:
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
关于r - R-Reduce()不适用于中位数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20294507/