इसके अलावा यदि आप फेलर के आत्मविश्वास अंतराल का उपयोग mratios
नहीं करना चाहते हैं (आमतौर पर क्योंकि आप एक साधारण एलएम फिट नहीं चाहते हैं, लेकिन उदाहरण के लिए एक ग्लैमर या ग्लैमर। एनबी फिट), तो आप FiellerRatioCI
मॉडल के आउटपुट के साथ, निम्नलिखित फ़ंक्शन का उपयोग कर सकते हैं। अंश पैरामीटर के नाम को नामांकित करें, भाजक का नाम मानदंड पैरामीटर। आप सीधे FiellerRatioCI_basic फ़ंक्शन देने का उपयोग भी कर सकते हैं, a, b और a और b के बीच सहसंयोजक मैट्रिक्स।
ध्यान दें, यहाँ अल्फा 0.05 है और कोड में 1.96 में "हार्डकोड" है। आप अपनी पसंद के किसी भी छात्र के स्तर से उन्हें बदल सकते हैं।
FiellerRatioCI <- function (x, ...) { # generic Biomass Equilibrium Level
UseMethod("FiellerRatioCI", x)
}
FiellerRatioCI_basic <- function(a,b,V,alpha=0.05){
theta <- a/b
v11 <- V[1,1]
v12 <- V[1,2]
v22 <- V[2,2]
z <- qnorm(1-alpha/2)
g <- z*v22/b^2
C <- sqrt(v11 - 2*theta*v12 + theta^2 * v22 - g*(v11-v12^2/v22))
minS <- (1/(1-g))*(theta- g*v12/v22 - z/b * C)
maxS <- (1/(1-g))*(theta- g*v12/v22 + z/b * C)
return(c(ratio=theta,min=minS,max=maxS))
}
FiellerRatioCI.glmerMod <- function(model,aname,bname){
V <- vcov(model)
a<-as.numeric(unique(coef(model)$culture[aname]))
b<-as.numeric(unique(coef(model)$culture[bname]))
return(FiellerRatioCI_basic(a,b,V[c(aname,bname),c(aname,bname)]))
}
FiellerRatioCI.glm <- function(model,aname,bname){
V <- vcov(model)
a <- coef(model)[aname]
b <- coef(model)[bname]
return(FiellerRatioCI_basic(a,b,V[c(aname,bname),c(aname,bname)]))
}
उदाहरण (मानक glm मूल उदाहरण पर आधारित):
counts <- c(18,17,15,20,10,20,25,13,12)
outcome <- gl(3,1,9)
treatment <- gl(3,3)
glm.D93 <- glm(counts ~ outcome + treatment, family = poisson())
FiellerRatioCI(glm.D93,"outcome2","outcome3")
ratio.outcome2 min max
1.550427 -2.226870 17.880574