r에서, binomial ()과 털을 사용하여 0에서 1 사이의 예측 () 값을 제한합니다.
문제
다음과 같은 예측 () 함수 내에 적용하는 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
기능을 정의한 일부 패키지로 인해 발생했습니다.
제휴하지 않습니다 StackOverflow