根据Wikipedia描述计算方差和标准差,与R中的标准函数 var()和 sd()相比,得到的结果不同。 / p>
方差:4对4.571429。标准差:2对2.13809。
任何建议或解释?
> df <- c(2,4,4,4,5,5,7,9)
> df.length <- length(df)
> df.length
[1] 8
> df.mean <- sum(df) / df.length
> df.mean
[1] 5
> df.difference <- (df - df.mean)**2
> df.difference
[1] 9 1 1 1 0 0 4 16
> sum(df.difference)
[1] 32
> df.variance <- sum(df.difference) / df.length
> df.variance
[1] 4
> df.standard.deviation <- sqrt(df.variance)
> df.standard.deviation
[1] 2
> # mean, var and sd (default R)
> mean(df)
[1] 5
> var(df)
[1] 4.571429
> sd(df)
[1] 2.13809
答案 0 :(得分:2)
这是除以n
或(n-1)
自由度之间的差异。
>df <- c(2,4,4,4,5,5,7,9)
> var(df)
[1] 4.571429
> sum((df-mean(df))^2/length(df))
[1] 4
> sum((df-mean(df))^2/(length(df)-1))
[1] 4.571429
它是n-1
,因为...直接从维基百科(link)
考虑自由度的一种常见方式是数量 可用于估计另一件作品的独立信息 信息。更具体地说,自由度的数量是 数据样本中独立观察的数量 可用于估计人口的参数 样本被绘制。例如,如果我们有两个观察结果,那么 计算平均值我们有两个独立的观察结果;然而, 在计算方差时,我们只有一个独立的 观察,因为这两个观察距离相同 的意思。