0

我有一个panel(5x5)5 年和 5 人每天消耗的冰淇淋的平均值。mean=50我想为这个小组进行假设检验。请帮助在 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"))
4

1 回答 1

1

好的,我会尝试(尽管说实话,我认为您的问题更多的是不了解统计数据而不是不了解 R,因此这可能不是您真正需要的,因为我不是统计学家)。aov您可以使用 ANOVA(使用函数或等效地使用线性回归)轻松检验均值不相等的假设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

这就是你将如何做到这一点,以及你应该得到的输出。您可能要注意,这些估计值等同于每年的平均值。因此,2011 年的平均值等于截距 (48),2012 年的平均值为 48 - 6 = 42,依此类推。因此,为了使每年的平均值相等,所有年份虚拟变量的估计值必须为零。

出于您的目的,您感兴趣的是最后一行。这显示了该回归是否是对仅包含截距的模型的显着改进的测试。仅截距模型相当于说所有虚拟变量的估计值为零。因此,如果您可以拒绝原假设(如果最后一行中的 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 的原假设。

再说一遍,我不是统计学家,所以这可能不是您问题的正确解决方案,但鉴于您提供的问题规范,这是我最好的猜测。

于 2016-06-10T09:05:11.400 回答