测试系数的差异,包括分段线性模型的相互作用

时间:2013-03-28 15:31:08

标签: r

我正在运行分段线性随机系数模型,测试协变量对第二部分的影响。因此,我想测试在协变量(第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

1 个答案:

答案 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
相关问题