如何计算向量的偏差平方和(平均值)?
我尝试使用命令
和(X-平均值(X))^ 2
但不幸的是,这返回的是-1.998401e-15,这是不对的。是否有一个微妙的算子,比如括号,我可能在这里失踪?
感谢。
答案 0 :(得分:14)
这可能是正确的。 -2.0到10 ^ 15的幂意味着它基本上为零。但正如贾斯汀在评论中指出的那样,你有
(sum (x - mean(x) )^2
当你可能意味着:
sum( (x - mean(x) )^2 )
答案 1 :(得分:10)
您还可以使用其他方式计算偏差平方和:
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)
。这是样本方差: