2017-02-04 3 views
0

선형 혼합 모델을 실행하고 lmerTest 패키지의 diffslmeans() 함수를 사용하여 고정 효과의 쌍 차이를 계산합니다.difflsmeans에 대한 CI 변경

이 함수는 내가 시도한 것과 관계없이 95 % CI를 생성하는 것으로 보입니다. 그러나 90 % CI를 사용하고 싶습니다. 나는 conf = 0.9, conf.int = 0.9conf = 90을 시도했습니다.

이 기능의 신뢰도 수준을 변경할 수 있습니까?

답변

0

이 패키지의 GitHub 저장소 (https://github.com/cran/lmerTest/blob/master/R/generalFunctions.R)를 검토 한 결과, 95 % CI의 값이 diffslmeans에 하드 코드 된 것으로 생각됩니다.

difflsmeans <- function(model, test.effs=NULL, ddf = "Satterthwaite", ...) 
{ 
    if(!inherits(model, "lmerMod")) 
    stop("The model is not linear mixed effects model") 

    ddf <- checkNameDDF(ddf) 
    result <- lsmeans.calc(model, 0.05, test.effs = test.effs, 
         lsmeansORdiff = FALSE, ddf) 
    res <- list(diffs.lsmeans.table=result$summ.data, 
       response=result$response) 
    class(res) <- "difflsmeans" 
    res 
} 

lsmeans.calc의 두 번째 매개 변수 내가 유의 수준에 대한 스탠드를 가정 0.05입니다 : 여기의 코드입니다. 자세한 내용은 https://github.com/cran/lmerTest/blob/master/R/lsmeans.R을 참조하십시오.

변수 CI를 사용하는 방법은 추가 매개 변수 conf을 사용하여 하나의 함수를 만드는 것입니다. 다음과 같이 입력하십시오 :

difflsmeans_new <- function(model, test.effs=NULL, 
          ddf = "Satterthwaite", 
          conf = 0.95) 
{ 
    if(!inherits(model, "lmerMod")) 
    stop("The model is not linear mixed effects model") 

    ddf <- checkNameDDF(ddf) 
    result <- lsmeans.calc(model, 1-conf, test.effs = test.effs, 
         lsmeansORdiff = FALSE, ddf) 
    res <- list(diffs.lsmeans.table=result$summ.data, 
       response=result$response) 
    class(res) <- "difflsmeans" 
    res 
} 
+0

답장을 보내 주셔서 감사합니다. 그것은 어려운 코딩 흥미 롭습니다. 나는 당신의 새로운 기능을 시도하고 오류가 발생했습니다 : "checkNameDDF"함수를 찾을 수 없습니다. 함수에서 해당 코드 줄을 삭제하려고 시도했습니다. "lsmeans.calc"함수를 찾을 수 없습니다. – user3585829

+1

그럼 간단한 방법이 작동하지 않습니다. 이 경우 GitHub 페이지의 코드를보고이 새로운 함수가 작동하도록 필요한 모든 함수를 복사 할 수 있습니다. – echasnovski

+0

나는 그것을 통해 분석하고 시도 할 것이다. 고맙습니다 – user3585829