我正在运行分段线性随机系数模型,测试协变量对第二部分的影响。因此,我想测试在协变量(第2部分+第2部分:协变量)的影响下第二部分的系数是否与第一部分(第1部分)的系数不同,因此生长速率是否不同。
我设置了一些示例性数据:
set.seed(100)
# set up dependent variable
temp <- rep(seq(0,23),50)
y <- c(rep(seq(0,23),50)+rnorm(24*50), ifelse(temp <= 11, temp + runif(1200), temp + rnorm(1200) + (temp/sqrt(temp))))
# set up ID variable, variables indicating pieces and the covariate
id <- sort(rep(seq(1,100),24))
piece1 <- rep(c(seq(0,11), rep(11,12)),100)
piece2 <- rep(c(rep(0,12), seq(1,12)),100)
covariate <- c(rep(0,24*50), rep(c(rep(0,12), rep(1,12)), 50))
# data frame
example.data <- data.frame(id, y, piece1, piece2, covariate)
# run piecewise linear random effects model and show results
library(lme4)
lmer.results <- lmer(y ~ piece1 + piece2*covariate + (1|id) , example.data)
summary(lmer.results)
我从汽车包中发现了linearHypothesis()命令来测试系数的差异。但是,在包含交互时,我找不到关于如何使用它的示例。
我甚至可以使用linearHypothesis()来测试这个,还是我的目标是错误的测试?
感谢您的帮助。 提前谢谢了! MAC
答案 0 :(得分:1)
假设您的输出看起来像这样
Estimate Std. Error t value
(Intercept) 0.26293 0.04997 5.3
piece1 0.99582 0.00677 147.2
piece2 0.98083 0.00716 137.0
covariate 2.98265 0.09042 33.0
piece2:covariate 0.15287 0.01286 11.9
如果我理解你想要什么,你正在寻找对比: piece1-(piece2 + piece2:协变量)
或
c(0,1,-1,0,-1)
我首选的工具是estimable
中的函数gmodels
;您也可以手动或使用Frank Harrel的软件包中的一个功能来完成。
library(gmodels)
estimable(lmer.results,c(0,1,-1,0,-1),conf.int=TRUE)
给予
Estimate Std. Error p value Lower.CI Upper.CI
(0 1 -1 0 -1) -0.138 0.0127 0 -0.182 -0.0928