1
我正在尝试使用lsmeans
及其对交互作用的F测试的对比。基本上,我想复制Stata用它的contrast
命令做的事情。我想有两个原因这样做:交互作用项的信息对比
- 具有因子变量之间的相互作用回归模型中
;
内的方差分析,以帮助分解三方互动。
对于这个问题,我会问一下关于三向交互的问题。
library(haven)
threeway <- read_spss("https://stats.idre.ucla.edu/wp-content/uploads/2016/02/threeway.sav")
threeway$ID <- row.names(threeway)
library(afex)
three_fit <- aov_ez("ID", "y", data = threeway, between = c("a", "b", "c"))
three_fit
> three_fit
Anova Table (Type 3 tests)
Response: y
Effect df MSE F ges p.value
1 a 1, 12 1.33 112.50 *** .90 <.0001
2 b 1, 12 1.33 0.50 .04 .49
3 c 2, 12 1.33 47.84 *** .89 <.0001
4 a:b 1, 12 1.33 120.13 *** .91 <.0001
5 a:c 2, 12 1.33 6.84 * .53 .01
6 b:c 2, 12 1.33 8.47 ** .59 .005
7 a:b:c 2, 12 1.33 6.97 ** .54 .010
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1
三方交互很重要。现在,从UCLA page on Stata,Stata的可以使用的代码:
contrast b#[email protected]
这将在的水平产生F-检验为B * C的相互作用。
我想在R中做lsmeans
。但是,我只是无法得到它。以下是我已经试过:
library(lsmeans)
lsm <- lsmeans(three_fit, c("b", "c"), by="a")
test(contrast(lsm, "consec"), joint=TRUE)
这让我的F-测试,但它是不正确的(或至少它不是一个我想要的)。我们将不胜感激复制Stata结果的任何帮助。我真的很想在lsmeans
之内做到这一点,但如果其他工作,我会采取。
感谢您的建议 - 但这只能让我得到一个F检测结果(奇怪的是2,12ff)。我正在寻找每个级别为“a”的交互F-测试(每个都有2,12df)。 – Michael
您是否尝试在'test'调用中添加'by =“a”'? – rvl