2013-05-15 91 views
4

如上所述,任何人都知道發生了什麼?`意思不是產生正確的答案

m1 <- 0.457842055395572 
m2 <- 0.587127416942505 
sum(m1, m2)/2 
mean(m1, m2) 

輸出:

> m1 <- 0.457842055395572 
> m2 <- 0.587127416942505 
> sum(m1, m2)/2 
[1] 0.5224847 
> mean(m1, m2) 
[1] 0.4578421 

重新啓動的R和仍然是相同的。在R 3.0 x86 Windows上。

回答

7

mean是一個S3函數,它接受一個主要參數,它是單個R對象(通常是一個向量)的量,其他參數通過...傳遞給其他方法。在這裏它們被傳遞到mean.default,它有兩個額外的命名參數,trimna.rm。因此,您的第二個值將被解釋爲修剪量(儘管您無法修整單個值)。

你要輸入的內容是:

mean(c(m1, m2)) 
[1] 0.5224847 
+0

哦,對了,我的哦,我,這樣一個根本的錯誤。 – JackeJR

+1

'mean.default'實際上有三個命名參數,這意味着這裏m2被默默地解釋爲'trim';現在_這太危險了。 – baptiste

+0

@baptiste好點,謝謝。我已經更新了答案,以考慮到這一點。 – James