2017-12-28 38 views
0

저는 R 및 혼합 모델 분석에 상당히 익숙합니다. lme4/nlme을 사용하여 변화하는 변수에 대한 예상치를 어떻게 만들 수 있습니까?

나는 모든 개인에 대한 time에 따라 변수 ln_ahr의 변화에 ​​대해 하나의 추정을 생성 할 수 있도록 싶었다. 나는 이것이 시간의 변화의 기울기로 생각할 수 있다고 생각한다. 여기 내 데이터 (긴 형식)을 구성하는 방법입니다 : v001 주제 식별자

 v001 ln_ahr time 
13404 28337 0.28438718 0 
13405 28337   NA 3 
13406 28337   NA 6 
13407 28337 1.05015991 9 
13408 28337   NA 12 
13409 28337 1.33345188 15 
13410 28337   NA 19 
13413 28355 1.14904314 0 
13414 28355   NA 3 
13415 28355 1.06546008 6 
13416 28355   NA 9 
13417 28355 1.17865500 12 
13418 28355 2.84949593 15 
13423 29983 0.07015499 0 
13424 29983 0.21056477 3 
13426 29983 0.36125306 9 
13427 29983 0.66139848 12 
13428 29983 0.16962391 16 

.

난 같이 R에 nlme 패키지를 이용하여 기울기를 계산하려고 :

slope <- lme(ln_ahr~time,random=~1+time|v001, 
       data=restructured,na.action="na.omit") 

및 I는 ranef(slope)coef(slope)과 값을 얻어 시도했다. I 나 각의 추정을 제공 할 것 coef(slope) 값은 "각 그룹 요소 각각 설명 변수, 고정 랜덤 효과 계수의 합을 계산"는 따라서 I는 시간의 계수를 인쇄 (절편 값을 떠나는) 것으로 생각 읽기 시간이 지남에 따라 개인의 변화가 ln_ahr이되고,이를 내 "기울기"또는 변경 추정치로 사용할 수 있습니다 (ln_ahr). time 0 ln_ahr 측정 첫해 나타내는 곳

시간 년과 같이 계산된다; 모든 사람은 3 년마다 측정됩니다.

궁금이 전혀 또는 내가 올바르게 않은 경우 올바른 접근하는 경우; 당신의 제안은 무엇입니까?

+0

예, 정확합니다 ... –

+0

@Ben Bolker 답장을 보내 주셔서 감사합니다.이것은 변화 추정치로서 * time * 인'coef (slope) [, 2]'만을 고려하는 것이 맞습니까? 생존 분석에서이 추정치를 사용하면 더 가파른 경사면을 가진 사람들이 일찍 사망하는지 확인하기 위해 문제가 발생합니다. coxph 호출에 대한 계수와 확률 비율은 매우 많아서 오류가 있다고 생각하게되었습니다. * ln_ahr * 변수가 로그 변환되고 이것이 그 이유인지 궁금합니다. 다소 모호하다는 것을 이해하지만 당신의 생각을 듣고 싶었습니다. – guaguncher

+0

좀 더 복잡한 예제로 재미있는 일이 있는지 알 수 없습니다. 더 자세한 내용을 담은 다른 질문을 게시해야 할 수도 있습니다. –

답변

1

기본 대답은 "예"입니다; lme4::coef()에 의해 리턴 된 숫자는 예상 된 주제별 매개 변수입니다. 이 예제의

변형이 인터넷에 주변에 있지만 :

맞춤 lme4에서 기본 임의 슬로프 예 중 하나를 각 그룹에 대한

library(lme4) 
fm1 <- lmer(Reaction~Days+(Days|Subject),sleepstudy) 

추출 추정 차단 슬로프 (주제) :

비교를 위해
d1 <- coef(fm1)$Subject 
d1$Subject <- rownames(d1) 

는 각 그룹 및 추출물 특정 주제 슬로프와 차단에 대해 별도의 모델에 맞게 :

fm2 <- lmList(Reaction~Days|Subject,sleepstudy) 
d2 <- coef(fm2) 
d2$Subject <- rownames(d2) 

플롯 (무작위 효과는 실선으로 추정; 점선 고정 효과)

library(ggplot2); theme_set(theme_bw()) 
gg0 <- ggplot(sleepstudy,aes(Days,Reaction, 
         colour=Subject))+ 
    geom_point()+ 
    geom_abline(data=d1, 
     mapping=aes(intercept=`(Intercept)`, 
        slope=Days,colour=Subject))+ 
    geom_abline(data=d2,linetype=2, 
       mapping=aes(intercept=`(Intercept)`, 
          slope=Days,colour=Subject)) 

enter image description here

더그 베이츠는 하나의 패널에 모든 그룹 이러한 "스파게티 플롯을"좋아하지 않는다, 그는 측면 선호 :

gg0+facet_wrap(~Subject)+ 
theme(panel.spacing=grid::unit(0,"lines"))   

enter image description here

(이상적으로는 기울기 예 일부가 아닌 임의의 방법으로 과목을, 주문 것)