this blog posting에 도시 된 바와 같이 I가 작용 효과를 계산하고자 그래서 b0
이 절편의 추정치 y = (b0 + (b1 * xa) + (b3 * xa * xb))
, b1
를 계산할 수있는 것은 예측기 (A)의 추정치이며 b3
는 예측기 (A)와 사이의 상호 작용의 추정치 B.상호 작용 용어를 사용하여 merMod 객체의 원래 변수를 찾는 방법 (lme4 패키지에 적합)?
내가 장착 모델
- 추정을 필요로 이렇게하려면
- 예측 인자의 원래 값 (즉, "data.frame"에서 각 값은 "단순"일반화 된 선형 모델를 들어 위의 식)
에 삽입되어 사용되는 변수는, I는 (피팅 모델 객체의 원래의 데이터 값을 저장하는 데이터 매트릭스 파라미터를 사용하여 glm(... x=TRUE)
. 예 : 보시
fit <- glm(f1care ~ c12hour + neg_c_7 + c172 +
sex1 + sex2 + c172:neg_c_7 + sex1:c12hour,
data = mydf,
x = TRUE,
family = binomial("logit"))
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 1.4674300 0.1759883 8.338 < 2e-16 ***
c12hour 0.0016157 0.0016315 0.990 0.3220
neg_c_7 -0.0549614 0.0108868 -5.048 4.45e-07 ***
c1721 -0.1575547 0.2752344 -0.572 0.5670
sex12 -0.0320619 0.1286984 -0.249 0.8033
sex22 0.2091354 0.0874629 2.391 0.0168 *
neg_c_7:c1721 0.0090043 0.0202720 0.444 0.6569
c12hour:sex12 -0.0003121 0.0018246 -0.171 0.8642
> head(fit$x)
(Intercept) c12hour neg_c_7 c1721 sex12 sex22 neg_c_7:c1721 c12hour:sex12
1 1 10 9 0 1 1 0 10
2 1 4 13 1 1 1 13 4
3 1 12 21 0 1 1 0 12
4 1 60 14 0 1 1 0 60
5 1 40 17 0 1 1 0 40
6 1 50 17 0 1 1 0 50
것은, 계수의 이름 모델 데이터 프레임 (fit$x
)에서 열 이름과 동일하다. I는 상호 작용 항 (예 c12hour:sex12
) 찾으면
, 전 결장의 이름을 분할 c12hour
및 sex12
있고, 모델 매트릭스 컬럼 이름을 통해 값을 찾을 수있다 (이름이 동일하다).
이제 내 질문은 merMod
개체로 어떻게 할 수 있습니까? 원래 값 모델 ([email protected]
)에 맞도록 사용되는 데이터 프레임의 열 이름은 다음과 같다 : summary
또는 fixef
통해 액세스
library(lme4)
fit <- glmer(f1care ~ c12hour + neg_c_7 + c172 +
sex1 + sex2 +
c172:neg_c_7 + sex1:c12hour + (1|g2ctry),
data = mydf,
family = binomial("logit"))
> colnames([email protected])[-1]
[1] "c12hour" "neg_c_7" "c172" "sex1" "sex2" "g2ctry"
coeffciients을, 다음과 같이 :
Fixed effects:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 1.2388127 0.2382648 5.199 2e-07 ***
c12hour 0.0018070 0.0016450 1.098 0.272018
neg_c_7 -0.0387817 0.0115511 -3.357 0.000787 ***
c1721 0.1187357 0.2842743 0.418 0.676181
sex12 -0.0305578 0.1306499 -0.234 0.815069
sex22 0.1580400 0.0897806 1.760 0.078358 .
neg_c_7:c1721 -0.0106958 0.0209961 -0.509 0.610458
c12hour:sex12 -0.0009486 0.0018350 -0.517 0.605206
> cbind(fixef(fit))
[,1]
(Intercept) 1.2388126568
c12hour 0.0018069626
neg_c_7 -0.0387817065
c1721 0.1187357405
sex12 -0.0305578499
sex22 0.1580400407
neg_c_7:c1721 -0.0106958049
c12hour:sex12 -0.0009485618
위에서 볼 수 있듯이 열 이름 sex1
과 sex2
은 계수 "이름"sex12
및 sex22
과 구별되지 않습니다 (처음에는 단순한 glm
예와 달리 두 요소가 모두 동일 함). al).
나의 현재 접근법
- 그것이
factor
경우 (예를sex1
) - 체크 열 이름을, 그렇다면
levels
를 검색 할 수있다 (예를 들어1
및2
) - CONCAT 열 이름과 요소 레벨 (그래서 우리는
sex11
및sex12
) - 가 연결된 "예측 이름"을 포함하는 상호 작용 용어를 찾을 수 있습니다 (그래서
sex11
이 일치를 제공하지 않습니다, 그러나,sex12
이 일치합니다 두 번째 상호 작용 용어c12hour:sex12
)
나는이 최고 또는 유일한 솔루션입니다 궁금하거나, 경우가있을 경우 상호 작용 조건을 "감지"내 방식이 작동하지 않습니다 어디?