2014-05-11 5 views
2

lme4 패키지의 lmer 기능을 수천 번 호출하는 스크립트로 작업하고 있습니다 (여러 비교에 대한 관련 수정이 나중에 수행됨을 염려하지 않으십시오). 가능하면 한 번 호출하는 동안 많은 시간을 절약하고 싶습니다.lme4에서 lmer 모델의 t 값을 추출하는 방법은 무엇입니까?

적합 모델에서 t- 값을 추출하려면이 작업을 수행하는 데 가장 빠른 (계산 시간) 방법은 무엇입니까? summary(model)을 사용해 보았지만 lmer 그 자체를 호출하는 것보다 오래 걸리는 것으로 보입니다. summary()을 사용하지 않고 얻어진 모델로부터 t- 값을 얻을 수 있습니까?

답변

4

이 질문에 대답하는 가장 좋은 방법은 lme4:::summary.merMod 코드를보고 필요한 조각을 얻는 방법을 찾는 것입니다. 이 그것을 마땅 :

library(lme4) 
fm1 <- lmer(Reaction ~ Days + (Days | Subject), sleepstudy) 
t.stat <- function(x) fixef(x)/sqrt(diag(vcov(x))) 
t.stat(fm1) 
## (Intercept)  Days 
##  36.838311 6.771485 
coef(summary(fm1))[,"t value"] ## identical 

을 계산 효율성을 위해 다른 기회가있을 수 있습니다 lmer에 호출하여 수천에서 공통 무엇인지 특성에 따라 다음을 참조 예를 ?refit?modular.

+0

감사합니다, 나는의 속도를 확인하기 위하여려고하고있다 :

(나는 그 계산에 느린 무슨 말 결과를 프로파일에 관심이있을 것입니다 분명 시간이 많이 걸리는 아무것도 공개하지 않습니다 lme4:::summary.merMod의 코드를 찾고 있습니다.) 'coef (summary (model)) '에 대한 당신의 대답은 내일 여기에 코멘트를 올릴 것입니다. – mmagnuski

+0

어떤 이유로'summary()'를 사용하여 초기 문제를 재현 할 수 없었습니다. 그러나 코드를 다시 작성하고 다른 컴퓨터를 사용했습니다. 문제를 일으켜서 죄송합니다. – mmagnuski