2013-01-07 4 views
6

샘플이 열별로 그룹화 된 데이터 세트가 있습니다. 다음 샘플 데이터 세트 내 데이터의 형식과 유사합니다열에서 구성된 샘플을 사용하여 R에서 단일 요소 ANOVA를 수행하는 방법은 무엇입니까?

a = c(1,3,4,6,8) 
b = c(3,6,8,3,6) 
c = c(2,1,4,3,6) 
d = c(2,2,3,3,4) 

mydata = data.frame(cbind(a,b,c,d)) 

내가 ANOVA Excel에서 위의 데이터 집합을 사용하여 단일 요소를 수행 할 때, 나는 다음과 같은 결과를 얻을 :

enter image description here

내가 알고를

group measurement 
a  1 
a  3 
a  4 
.  . 
.  . 
.  . 
d  4 

을 그리고 R에서 분산 분석을 수행 할 수있는 명령이 aov(group~measurement, data = mydata)을 사용하는 것입니다 : 다음과 같이 R의 일반적인 형식입니다. 행을 기준으로하지 않고 열별로 구성된 샘플을 사용하여 R에서 단일 요소 ANOVA를 수행하려면 어떻게해야합니까? 즉, R을 사용하여 Excel 결과를 어떻게 복제합니까? 많은 도움에 감사드립니다.

+1

데이터를 변형하십시오! – mnel

+2

당신은 anova 명령을 잘못 ... 'aov (측정 ~ 그룹 ...' – John

답변

11

당신은 긴 형식으로 스택 : Excel에서 다른 답을 제공하는 이유

> anova(lm(values ~ ind, mdat)) 
Analysis of Variance Table 

Response: values 
      Df Sum Sq Mean Sq F value Pr(>F) 
ind  3 18.2 6.0667 1.4797 0.2578 
Residuals 16 65.6 4.1000    
> summary(lm(values~ind, mdat)) 

Call: 
lm(formula = values ~ ind, data = mdat) 

Residuals: 
    Min  1Q Median  3Q Max 
-3.40 -1.25 0.00 0.90 3.60 

Coefficients: 
      Estimate Std. Error t value Pr(>|t|)  
(Intercept) 4.4000  0.9055 4.859 0.000174 *** 
indb   0.8000  1.2806 0.625 0.540978  
indc   -1.2000  1.2806 -0.937 0.362666  
indd   -1.6000  1.2806 -1.249 0.229491  
--- 
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Residual standard error: 2.025 on 16 degrees of freedom 
Multiple R-squared: 0.2172, Adjusted R-squared: 0.07041 
F-statistic: 1.48 on 3 and 16 DF, p-value: 0.2578 

그리고 나 한테 물어하지 마십시오 :

mdat <- stack(mydata) 
mdat 
    values ind 
1  1 a 
2  3 a 
3  4 a 
4  6 a 
5  8 a 
6  3 b 
7  6 b 
snipped output 

> aov(values ~ ind, mdat) 
Call: 
    aov(formula = values ~ ind, data = mdat) 

Terms: 
       ind Residuals 
Sum of Squares 18.2  65.6 
Deg. of Freedom 3  16 

Residual standard error: 2.024846 
Estimated effects may be unbalanced 

을 감안할 때이 안전 할 수있는 경고가 lm 사용 . Excel은 일반적으로 통계와 관련하여 매우 신뢰할 수없는 것으로 나타났습니다. Excel에서 데이터가 R에 필적하는 대답을 제공하지 않는 이유를 설명합니다.

주석에 대한 응답으로 편집 : Excel 데이터 분석 팩 ANOVA 절차는 출력을 생성하지만 해당 프로세스에 대해 Excel 기능을 사용하지 않습니다. 따라서 파생 된 데이터 셀의 데이터를 변경 한 다음 F9 키 또는 이와 동등한 메뉴 재 계산 명령을 누르면 출력 섹션이 변경되지 않습니다. 이 사용자 및 수치적인 문제의 원인은 David Heiser가 통계 계산을 통해 Excel의 문제를 평가하는 여러 페이지에 기록되어 있습니다. http://www.daheiser.info/excel/frontpage.html Heiser는 Microsoft가 책임을 질 것을 기대하면서 적어도 10 년 동안 노력을 시작했습니다. 이 오류에 대해서는 오류를 확인하고 더 나은 절차를 제안하는 데있어 자신과 다른 사람들의 노력을 일관되게 무시했습니다. 또한 Excel에서 다양한 통계적 문제를 다루는 BD McCullough가 편집 한 June 2008 issue of "Computational Statistics & Data Analysis"의 6 섹션 특별 보고서가있었습니다.

+0

평소 당신이 나쁜 실수를위한 badmouth 소프트웨어, 그것은 당신의 잘못입니다 :-) 바보 기본 치료를 사용하기 때문에 결과가 다릅니다 대조. 'summary (lm (values ​​~ 0 + ind, mdat)) '에 의해 해제한다. – TMS

+0

나는 F- 통계를 언급하고 있었다. 예상치가 다른 대비로 다르게 나타날 수도 있습니다. 그리고 내가 수식을 바꿀 때 제안한 것과는 다른 대답을 얻었습니다. 4.4에 대한 평균을 계산하여 예측할 수있는 Excel과 다른 대답을 얻을 수 있습니다 .8은 '그룹 b의 평균에 대한 Excel 예상 값과 동일하지 않습니다. '. –

+1

이것은'b = c (3,6,8,3,8)'로 바꾸면 평균으로 5.6을, variance로 6.3을주고, 아마도 오타를 만들었 기 때문입니다. F 통계와 p- 값도 갑자기 맞을 것입니다. – TMS