2

我正在运行一个分段线性随机系数模型来测试协变量对第二个部分的影响。因此,我想测试在协变量(piece2 + piece2:covariate)的影响下,第二块的系数是否与第一块(piece1)的系数不同,因此增长率是否不同。

我设置了一些示例数据:

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)

我遇到了 car 包中的 linearHypothesis() 命令来测试系数的差异。但是,我找不到在包含交互时如何使用它的示例。

我什至可以使用 linearHypothesis() 来测试它还是我的目标是错误的测试?

我感谢您的帮助。提前谢谢了!苹果电脑

4

1 回答 1

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:covariate)

或者

c(0,1,-1,0,-1)

我首选的工具是函数estimablein 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
于 2013-03-28T15:52:06.563 回答