我有这个代码m2 <- lmer(SE ~ b95rel*MF*TASK*ROI*side*Run + (1|IDcheck),f)
,其中SE
,b95rel
和MF
是连续变量,TASK
,ROI
,side
和Run
是分类变量。
我收到警告信息:
警告消息:1:一些预测变量在非常不同的尺度上:考虑重新缩放
下面是结果的第一行:
当我重新缩放b95rel
时,p值会改变(例如主效应TASK
变得显著):
当我重新缩放MF
时,p值再次改变:
我使用R中的scale()
函数。
在网上,我总是读到p值在缩放时不应该改变,所以我很困惑,如果我的变化意味着什么...
这是缩放的MF变量:
这是未缩放的MF
变量:点不改变彼此的距离。在缩放之前和之后的其他变量也是如此。仅y轴值发生变化。所以p值的变化不可能来自这里。。
我目前不设法复制dput()
outome在这里,因为我的数据文件是太大,其众多的重复变量...我会看看我是否找到一个解决方案,并把它放入评论...
这里是sessionInfo:
> sessionInfo()
R version 4.2.2 (2022-10-31 ucrt)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 19044)
Matrix products: default
locale:
[1] LC_COLLATE=English_Canada.utf8 LC_CTYPE=English_Canada.utf8 LC_MONETARY=English_Canada.utf8
[4] LC_NUMERIC=C LC_TIME=English_Canada.utf8
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] rstatix_0.7.2 ggpubr_0.6.0 lubridate_1.9.2 forcats_1.0.0 stringr_1.5.0 dplyr_1.1.1
[7] purrr_1.0.1 readr_2.1.4 tidyr_1.3.0 tibble_3.2.1 ggplot2_3.4.2 tidyverse_2.0.0
[13] sjmisc_2.8.9 sjPlot_2.8.14 MuMIn_1.47.5 lmerTest_3.1-3 lme4_1.1-32 Matrix_1.5-4
[19] sjstats_0.18.2 emmeans_1.8.5
loaded via a namespace (and not attached):
[1] splines_4.2.2 carData_3.0-5 modelr_0.1.11 datawizard_0.7.1 stats4_4.2.2
[6] bayestestR_0.13.1 numDeriv_2016.8-1.1 pillar_1.9.0 backports_1.4.1 lattice_0.20-45
[11] glue_1.6.2 RColorBrewer_1.1-3 ggsignif_0.6.4 minqa_1.2.5 colorspace_2.1-0
[16] sandwich_3.0-2 pkgconfig_2.0.3 broom_1.0.4 haven_2.5.2 xtable_1.8-4
[21] mvtnorm_1.1-3 scales_1.2.1 tzdb_0.3.0 timechange_0.2.0 farver_2.1.1
[26] generics_0.1.3 car_3.1-2 sjlabelled_1.2.0 TH.data_1.1-1 withr_2.5.0
[31] cli_3.4.1 effectsize_0.8.3 survival_3.4-0 magrittr_2.0.3 estimability_1.4.1
[36] fansi_1.0.4 nlme_3.1-160 MASS_7.3-60 tools_4.2.2 hms_1.1.3
[41] lifecycle_1.0.3 multcomp_1.4-23 munsell_0.5.0 ggeffects_1.2.2 compiler_4.2.2
[46] rlang_1.1.0 grid_4.2.2 nloptr_2.0.3 parameters_0.20.3 rstudioapi_0.14
[51] labeling_0.4.2 boot_1.3-28 gtable_0.3.3 codetools_0.2-18 abind_1.4-5
[56] R6_2.5.1 zoo_1.8-11 knitr_1.42 performance_0.10.3 utf8_1.2.3
[61] insight_0.19.1 stringi_1.7.12 Rcpp_1.0.10 vctrs_0.6.1 tidyselect_1.2.0
[66] xfun_0.38 coda_0.19-4
1条答案
按热度按时间kmbjn2e31#
tl;dr如果
scale(..., center = FALSE)
,p值应保持不变。* 然而 *,你应该在解释存在交互作用的主效应的重要性时始终保持谨慎,正是因为它们依赖于交互作用中其他效应的中心(Venables 1988)。维纳布尔斯有效地说,“永远不要在存在交互作用的情况下解释主效应”;我的修正是“除非你知道并能准确解释为什么它会有问题,从而理解你实际上在测试什么”。你的问题是双重的:(1)默认为
scale()
centers以及缩放变量;(2)居中会更改 * 主效应 * 的含义和p值(当它们涉及模型中也包含的高阶效应时)。下面的示例显示了基于来自
summary()
的系数表而不是使用anova()
的效果,但点是相同的。我将给予一个
lm()
的例子(因为这不是特定于混合模型):比例和中心:交互作用p值保持不变,但其他效应发生变化(因为我们现在是在其他变量的 * 均值 * 处评估效应,而不是在其他变量为0时)
缩放但不居中:p值与原始模型相同。
PS如果你想解释“类型3”anova,你可能也应该使用和零对比(
options(contrasts = c("contr.sum", "contr.poly"))
)Venables,W. 1998年国际S-PLUS使用者会议。华盛顿特区。http://www.stats.ox.ac.uk/pub/MASS3/Exegeses.pdf。