Ayrıca Fieller'in güven aralığını kullanmadığınızı hesaplamak istiyorsanız mratios
(genellikle basit bir lm sığması istemediğiniz ancak örneğin bir glmer veya glmer.nb sığması istemediğiniz için), FiellerRatioCI
modelin çıktısını modellemek için aşağıdaki işlevi kullanabilirsiniz. numerator parametresinin adını adlandırın, payda parametresinin adını adlandırın. Ayrıca, a, b ve a ile b arasındaki kovaryans matrisini veren FiellerRatioCI_basic işlevini doğrudan kullanabilirsiniz.
Not, buradaki alfa 0,05'tir ve koddaki 1,96 değerine "sabit kodlanır". Bunları tercih ettiğiniz Öğrenci seviyelerine göre değiştirebilirsiniz.
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)]))
}
Örnek (standart glm temel örneğine dayanarak):
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