我一直在做:
mylist<- c(2,5,19,29)
Reduce("+", mylist)
结果:
[1] 55
没有任何问题。但是,我需要做一个中位数,所以我做了:
Reduce(median, mylist)
给我:
[1] 2
但答案应该是:
median(unlist(hom))
[1] 12
有人能解释为什么Reduce()
这样做了吗?
答案 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