2016-06-02 5 views
0

나는 5 년과 5 인 동안 하루에 소비되는 아이스크림의 평균값을 가진 panel(5x5)입니다. 이 패널에 대해 mean=50이라는 가설 테스트를 수행하고 싶습니다. R에서이 작업을 도와주세요. 진행 방법을 모르는 채 샘플 코드가 없습니다. 솔직히 나는 당신의 문제가 더 정말 R을 이해하지 결과적으로 이것이 당신이 정말 있기 때문에 필요하지 않을 수도 있습니다보다 통계를 이해하지 못하는 생각으로하지만R : 패널 데이터에 대한 가설 테스트

# dput(Sample) 

structure(list(Year = c(2011, 2011, 2011, 2011, 2011, 2012, 2012, 
2012, 2012, 2012, 2013, 2013, 2013, 2013, 2013, 2014, 2014, 2014, 
2014, 2014, 2015, 2015, 2015, 2015, 2015), Person = c("A", "B", 
"C", "D", "E", "A", "B", "C", "D", "E", "A", "B", "C", "D", "E", 
"A", "B", "C", "D", "E", "A", "B", "C", "D", "E"), 
'Mean of Ice-cream units per day' = c(45, 
40, 35, 55, 65, 57, 49, 45, 32, 27, 85, 79, 85, 48, 35, 15, 6, 
99, 45, 47, 49, 85, 35, 66, 99)), class = c("tbl_df", "tbl", 
"data.frame"), row.names = c(NA, -25L), .Names = c("Year", "Person", 
"Mean of Ice-cream units per day")) 
+0

귀하가 제공 한 데이터는 매년 5 명에게 아이스크림을 먹이는 것을 의미하지만, 링크하는 예는 매년 5 명을 독립적으로 샘플링한다는 것을 의미합니다. 어느 것이 맞습니까? 그것은 후자의 경우 (데이터 X의 세 번째 변수 이름을 간단하게 유지하고 데이터 프레임을 dt라고 부름) : aov (X ~ factor (Year), data = dt)가 작동해야합니다. 이것에 의해 리턴 된 F 값은 링크 된 포스트에 언급 된 값과 같아야합니다. –

+0

나는 5 명의 사람들이 매년 아이스크림을 먹고 있다는 것을 의미합니다. 우도 비율을 사용하라고 제안했기 때문에 연결했습니다. 다른 방법도 환영합니다. –

+0

친애하는 @David_B이 질문을 도와 주시겠습니까? –

답변

1

OK, 나는 (해보자 : 다음은 내 데이터입니다 나는 통계가 아니다.) ANOVA (aov 함수 또는 이와 동등한 선형 회귀를 사용하여 lm을 사용하여 평균이 평등하지 않다는 가설을 쉽게 테스트 할 수 있습니다. 나중에 유용 할 것이므로 후자를 사용할 것입니다. 당신은 그들이 모두 동일한 귀무 가설을 기각 할 수 있는지 단계 논리적으로, 때문에, 당신은 그들이 모두뿐만 아니라 특정 값과 동일 귀무 가설을 기각 할 수 있습니다.

> l1 <- lm(X ~ Year, dta) 
> summary(l1) 

Call: 
lm(formula = X ~ Year, data = dta) 

Residuals: 
    Min  1Q Median  3Q Max 
-36.4 -15.0 2.6 15.0 56.6 

Coefficients: 
      Estimate Std. Error t value Pr(>|t|)  
(Intercept) 48.00  10.66 4.502 0.000218 *** 
Year2012  -6.00  15.08 -0.398 0.694896  
Year2013  18.40  15.08 1.220 0.236535  
Year2014  -5.60  15.08 -0.371 0.714242  
Year2015  18.80  15.08 1.247 0.226856  
--- 
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Residual standard error: 23.84 on 20 degrees of freedom 
Multiple R-squared: 0.2165, Adjusted R-squared: 0.05983 
F-statistic: 1.382 on 4 and 20 DF, p-value: 0.2758 

이것은 당신이 그렇게 할 것입니다 방법입니다 2012 년에는 48 - 6 = 42이며, 2012 년에는 Intercept (48)와 같으므로, 2011 년 평균은 Intercept (48)와 같습니다. 그래서 매년 평균이 같아지기 위해서는 모든 사람들에 대한 연도 더미 변수는 0이어야합니다.

귀하의 목적에 가장 관심있는 부분은 마지막 줄입니다. 이것은 회귀가 절편만을 포함하는 모델에서 중요한 개선인지 여부에 대한 테스트를 보여줍니다. 인터셉트 전용 모델은 모든 더미 변수의 추정치가 0이라고 말하는 것과 같습니다. 그래서 만약 귀사가 귀무 가설을 기각 할 수 있다면 (마지막 라인의 p- 값이 < 0.05 일 경우), 적어도 한 해는 다른 것들과 의미가 다름을 말해주기 때문에 끝날 것입니다. 일반적으로 이러한 유형의 데이터에 대한 대부분의 분석이 중단됩니다. 불행하게도, 당신이 평균 = 50을 테스트하기 위해 조금 더 나아가 야 할 필요가 있기 때문에 그런 경우는 아닙니다. 지금까지 우리는 매년 평균이 평균값 인 53.12 . 그것이 linearHypothesis 기능을 사용할 수있는 곳입니다.

> library(car) 
> linearHypothesis(l1, c("(Intercept) = 50", "Year2012 = 0", "Year2013 = 0", "Year2014 = 0", "Year2015 = 0")) 
Linear hypothesis test 

Hypothesis: 
(Intercept) = 50 
Year2012 = 0 
Year2013 = 0 
Year2014 = 0 
Year2015 = 0 

Model 1: restricted model 
Model 2: X ~ Year 

    Res.Df RSS Df Sum of Sq  F Pr(>F) 
1  25 14752       
2  20 11367 5 3384.8 1.1911 0.3487 

이 모델은 평균의 추정치는 매년에 (즉, 절편의), 평균 매년 다를 수있는 일에 비교하여 50로 제한합니다. 이것에 대한 p- 값도 < 0.05가 아니므로, 매년 평균이 50이라는 귀무 가설을 기각 할 수 없다는 결론을 얻을 수 있습니다.

그냥 반복하기 때문에 나는 통계학자가 아니므로 문제에 대한 올바른 해결책이 아닐 수도 있지만 제공하신 문제의 사양을 고려할 때 가장 좋습니다.