2014-01-27 164 views
5

如何計算矢量的偏差平方和(平均值)?計算R中偏差的平方和

我嘗試使用命令

總和(X-均值(X))^ 2

但不幸的是這是什麼返回是-1.998401e-15不可能是正確的。是否有一個微妙的操作符,像一個括號,我可能在這裏失蹤?

謝謝。

+7

'總和((X-平均值(X))^ 2)'平方不是正方形的款項總和? – Justin

回答

12

這很可能是正確的。 -2.0到10^15的冪意味着它基本爲零。但賈斯汀在評論剛剛提到的,你有

(sum (x - mean(x))^2 

,當你可能是指:

sum((x - mean(x))^2) 
+0

好的,所以我需要另一組括號。謝謝。 – JohnK

+1

是的,「運營商優先級」是技術術語。平方需要移到裏面。 –

+0

適用於平方的情況。但是簡單的> sum(x-mean(x))呢?答案應該是0,但R返回的是-1.998401e-15。 – JohnK

6

你也可以用另一種方式來計算偏差平方和的總和:

x <- 1:10 #an example vector 

# the 'classic' approach 
sum((x - mean(x))^2) 
# [1] 82.5 

# based on the variance 
var(x) * (length(x) - 1) 
#[1] 82.5 

後者的工作原因是var(x) = (x - mean(x))^2)/(length(x) - 1)。這是樣品方差:

enter image description here