나는 혼합 모델 회귀를 lme4로 맞추는 데이터 세트를 가지고 있습니다.적절한 혼합 모델 회귀 슬로프
dat <- structure(list(dv280 = c(41L, 68L, 0L, 6L, 20L, 30L, 8L, 1L,
15L, NA, 59L, 5L, 21L, 41L, 11L, 14L, -2L, 20L, 25L, 33L, 32L,
30L, 68L, 16L, 11L, -1L, 8L, 0L), v0 = c(55L, 90L, 30L, 23L,
74L, 48L, 25L, 25L, 46L, NA, 60L, 69L, 55L, 41L, 34L, 41L, 53L,
76L, 72L, 64L, 34L, 37L, 75L, 21L, 26L, 14L, 24L, 19L), treatment = structure(c(2L,
1L, 1L, 2L, 2L, 1L, 2L, 1L, 1L, 2L, 2L, 1L, 1L, 2L, 2L, 1L, 1L,
2L, 1L, 2L, 2L, 1L, 2L, 1L, 1L, 2L, 2L, 1L), .Label = c("hc",
"nhc"), class = "factor"), cse = structure(c(2, 2, 6, 6, -4,
-4, 5, 5, NA, NA, -4, -4, -3, -3, -2, -2, 3, 3, 2, 2, -4, -4,
-7, -7, 4, 4, 2, 2), .Dim = c(28L, 1L)), pp = structure(c(1L,
1L, 2L, 2L, 3L, 3L, 4L, 4L, 5L, 5L, 6L, 6L, 7L, 7L, 8L, 8L, 9L,
9L, 10L, 10L, 11L, 11L, 12L, 12L, 13L, 13L, 14L, 14L), .Label = c("j.1",
"j.3", "j.6", "j.11", "j.13", "j.16", "j.17", "j.18", "j.19",
"j.22", "j.24", "j.30", "j.32", "j.36"), class = "factor")), .Names = c("dv280",
"v0", "treatment", "cse", "pp"), row.names = c(NA, 28L), class = "data.frame")
head(dat)
require(lme4)
m <- lmer(dv280 ~ 1 + v0:treatment + cse + (0 + v0 | pp), data=dat, REML=TRUE)
summary(m)
다음 I 그래서 원래의 값에 대한 예측을 생성 http://glmm.wikidot.com/faq 예에서 코드를 이용하여 얻어진 적합 플롯 싶다.
newdat <- data.frame(
v0=dat$v0,
treatment=dat$treatment,
cse=dat$cse,
dv280=0)
newdat <- newdat[-c(9,10),]
mm <- model.matrix(terms(m), newdat)
newdat$dv280 <- mm %*% fixef(m)
pvar1 <- diag(mm %*% tcrossprod(vcov(m), mm))
tvar1 <- pvar1 + VarCorr(m)$pp[1]
newdat <- data.frame(newdat, plo=newdat$dv280 - 2 * sqrt(pvar1),
phi=newdat$dv280 + 2 * sqrt(pvar1),
tlo=newdat$dv280 - 2 * sqrt(tvar1),
thi=newdat$dv280 + 2 * sqrt(tvar1))
이 ggplot와 플롯 쉽다 :
p <- ggplot(data=newdat, mapping=aes(x=v0, y=dv280, colour=treatment)) +
geom_point() +
geom_smooth(method='lm', se=TRUE) +
scale_colour_discrete(guide=guide_legend(title.position='left', title.hjust=1))
p + .mytheme + coord_cartesian(xlim=c(-20,100)) +
geom_hline(yintercept=0, colour='gray35', linetype='dashed') +
geom_vline(xintercept=0, colour='gray35', linetype='dashed')
그러나 화상에서 볼 수 있듯이, ggplot 의해 플롯 회귀 라인의 절편은 회귀 추정 절편 비교 떠난다
; 적어도 이것은 공통적 인 추정 절편이 0.54 인 반면 명확하게 음의 절편으로가는 nhc 선의 경우입니다.내 실수 (나는 가정) 쉽게 : 회귀가 geom_smooth 치료에 따라 개별적으로 데이터를 가져와 주어진 말씀이 아닌 다른 맞춤에 또한 장착의 맥락없이 액면 geom_smooth 결과를 사용하여 모델. 그러나 나는 선을 올바르게 그리는 방법을 놓치고있다.
예제 코드에 대한 속성을 추가하는 것을 잊었습니다. – Roland
질문이 업데이트되었습니다. http://glmm.wikidot.com/faq였습니다. 그 임무를 지적 해 주셔서 고마워요. –
[혼합 모델의 결과를 그리는 방법] (http://stackoverflow.com/questions/9447329/how-to-plot-the-results-of-a-mixed-model) – ROLO