如何更改对比度以与所有水平的平均值进行比较,而不是与参考水平(R,lmer)进行比较?

问题描述 投票:0回答:1

我有一个数据集,每一行都是销售员对商店的一次访问,并且字段包括“插座”(商店ID),“设备”(销售员出售了多少电子设备)和“工作日”(当天销售员在商店的那一周的哪个星期)。

我想确定某个工作日是否比其他工作日好,所以不要将一周中的所有天都与例如星期一,我想将它们与一周中所有时间的平均值进行比较。我为此使用了lmerTest函数(具有估计的p值的lme4 :: lmer)。

我尝试了以下代码:

data$weekday <- factor(weekday_sales$weekday, levels=c("Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"))

contrasts(data$weekday) = contr.sum(7) 

summary(lmerTest::lmer(data=data, devices~weekday + (1|outlet)))

给出:

Fixed effects:
            Estimate Std. Error       df t value Pr(>|t|)    
(Intercept)   4.3681     0.6024  12.4472   7.251 8.24e-06 ***
weekday1     -1.0585     0.5129 145.7337  -2.064  0.04080 *  
weekday2     -0.2830     0.4958 142.3214  -0.571  0.56913    
weekday3      1.1884     0.4907 140.5545   2.422  0.01671 *  
weekday4      0.1100     0.5025 145.1407   0.219  0.82707    
weekday5      1.3589     0.5135 143.8204   2.646  0.00904 ** 
weekday6     -0.1629     0.5020 143.1605  -0.325  0.74600   

然而,数据集中所有七个工作日(缺少一个工作日,并且数据集中工作日的级别存储为“星期一”,“星期二”,“星期三”等,而不是“星期几”,“工作日2”等

为什么缺少一个工作日,我怎么知道这是哪一个?这是否将每个工作日与平均值进行比较,还是在做其他事情? (如果是这样,我如何更改对比度以将所有级别与所有级别的平均值进行比较?)

r categorical-data lme4
1个回答
1
投票

问题是,通过求和对比,您无法将所有组与总体均值进行比较,因为它们不是独立的。如果您知道总体平均值G,然后知道1 -6天的平均值,那么可以从您已有的值中计算出7天的平均值。因此,基本上,您不能使用对比来完成它-您需要某种形式的事后测试。

与标准治疗方法相比,您仍然只能进行六个比较(1-2、1-3、1-4、1-5、1-6、1-7),而通常的问题是:嘿,哪里做1走。答案是截距。在这里,您有G-1,G-2,G-3,G-4,G-5,G-6,然后输了G-7。


0
投票

您需要明确禁止拦截:

devices~ -1 + weekday  + (1|outlet))

devices ~ 0 + weekday  + (1|outlet))
© www.soinside.com 2019 - 2024. All rights reserved.