2017-12-20 26 views
-1

61 개 항목이있는 데이터 세트가 있습니다. 내가하려는 것은 분산을 계산하는 것입니다.R 언어의 분산 결과가 다릅니다

나는 두 가지 방법으로 그 일을하고 있지만 다른

$ var에 X = E (X^{2}) 다음됩니다

첫번째 방법 - (EX)^{2} $

그래서

> c = 0 

> for(year in females$Salary) 
+  c = c + (year^2) 
> (c/length(females$Salary) - mean(females$Salary)^2 
[1] 286682.3 

하지만 난 기능을 구축 사용할 때

> var(females$Salary) 
[1] 291460.3 

출력이 다를 수 있습니다. 왜 이런 일이 일어나는 걸까요? 그들은 같을 까? R에서

답변

5
  • varn-1의 분모를 갖는 분산 (표본 분산)의 바이어스 추정을 사용한다.

  • 귀하의 계산에는 분산 수식이 사용됩니다.

확인이 :

vec <- 1:100 

#var uses the sample variance where the denominator is n-1 i.e. 99 
var(vec) 
#[1] 841.6667 
1/99 * sum((vec - mean(vec))^2) 
#[1] 841.6667 

#this is what you use to calculate variance, which uses a denominator of n i.e. 100 
mean(vec^2) - mean(vec)^2 
#[1] 833.25 
1/100 * sum((vec - mean(vec))^2) 
#[1] 833.25