我想得出的限制两个均值之比的置信区间。
认为,和
是独立的,平均比率. 我试图解决:
但是对于许多情况(没有根),该方程无法求解。难道我做错了什么?有更好的方法吗?谢谢
我想得出的限制两个均值之比的置信区间。
认为,和
是独立的,平均比率. 我试图解决:
R 有mratios
带有功能的包t.test.ratio
。
Gemechis Dilba Djira、Mario Hasler、Daniel Gerhard 和 Frank Schaarschmidt (2011)。mratios:一般线性模型中系数比率的推论。R 包版本 1.3.15。 http://CRAN.R-project.org/package=mratios
此外,如果您想不使用计算 Fieller 的置信区间mratios
(通常是因为您不想要简单的 lm 拟合,而是例如 glmer 或 glmer.nb 拟合),您可以使用以下FiellerRatioCI
函数,对模型的输出进行建模, aname 分子参数的名称, bname 分母参数的名称。您也可以直接使用 FiellerRatioCI_basic 函数给出 a、b 以及 a 和 b 之间的协方差矩阵。
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^2)*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
您可以通过以下方式计算:
在这里,您可以找到这些方法的详尽描述和比较。