r에서, binomial ()과 털을 사용하여 0에서 1 사이의 예측 () 값을 제한합니다.

StackOverflow https://stackoverflow.com//questions/9610318

  •  09-12-2019
  •  | 
  •  

문제

다음과 같은 예측 () 함수 내에 적용하는 GLM, Family= Binomial (link= logit) 모델이 있습니다.예측 값은 0과 1을 초과하지만 확률로 유지하고 싶습니다.따라서 Apply 함수에서 사용될 수있는 Binomial () $ inverse 명령을 사용합니다.

이 작업을 처음으로 실행했지만, R을 닫고 다시 시작한 후에는 이제이 오류가 발생했습니다 :

     Error in get(as.character(FUN), mode = "function", envir = envir) : 
     object 'ilogit' of mode 'function' was not found"
.

이 코드가 정상적으로 작동함에 따라 몇 시간 동안 이것을 고투하고있었습니다.누구든지 내가 무엇을 잘못하고 있는지에 대한 생각이 있습니까?이렇게하는 더 좋은 방법이 있습니까?

내 코드가 아래에 있습니다.나는 또한 다른 변형을 시도했지만 일할 수 없다.

    ## predicted probabilities 
    pp <- predict(logit_model,
            newdata=data,
            type="link",
            se.fit=T)

   ilogit <- binomial()$inverse
   yhat_prob <- lapply(pp,ilogit) #converts to probabilities
.

도움이 되었습니까?

해결책

확률을 원하면 type="response" 문서에서 설명한대로 ?pregict.glm로 직접 가질 수 있습니다.

오류 메시지가 나타나면 binomial()$linkinv가 필요할 것입니다.

> str( binomial() )
List of 12
 $ family    : chr "binomial"
 $ link      : chr "logit"
 $ linkfun   :function (mu)  
 $ linkinv   :function (eta)  
 $ variance  :function (mu)  
 ...
.

오류가 부족한 것은 ilogit 기능을 정의한 일부 패키지로 인해 발생했습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top