lmer输出方差分量的标准误差

lmer输出方差分量的标准误差,r,lme4,R,Lme4,我需要从lmer的输出中提取方差分量的标准误差 library(lme4) model <- lmer(Reaction ~ Days + (1|Subject), sleepstudy) library(lme4) fit <- lmer(y~(1|operator)+(1|part),data=dat) R用于提取估算值的代码,在表12-17中用4注释: est_ope=VarCorr(fit)$operator[1] est_part = VarCorr(fit)$part

我需要从
lmer
的输出中提取方差分量的
标准误差

library(lme4)
model <- lmer(Reaction ~ Days + (1|Subject), sleepstudy)
library(lme4)
fit <- lmer(y~(1|operator)+(1|part),data=dat)
R用于提取估算值的代码,在表12-17中用4注释:

est_ope=VarCorr(fit)$operator[1]
est_part = VarCorr(fit)$part[1]
sig = summary(fit)$sigma
est_res = sig^2
现在,我想从lmer输出中提取表12-17中5注释的
Std错误的结果


非常感谢

我不太清楚你所说的“方差分量的标准误差”是什么意思。我的最佳猜测(基于您的代码)是您想要随机效果的标准错误。您可以使用arm软件包获得此信息:

library(arm)
se.ranef(model)
#$Subject
#    (Intercept)
#308    9.475668
#309    9.475668
#310    9.475668
#330    9.475668
#331    9.475668
#332    9.475668
#333    9.475668
#334    9.475668
#335    9.475668
#337    9.475668
#349    9.475668
#350    9.475668
#351    9.475668
#352    9.475668
#369    9.475668
#370    9.475668
#371    9.475668
#372    9.475668
这实际上是随机效应的条件方差协方差矩阵的平方根:

sqrt(attr(ranef(model, condVar = TRUE)$Subject, "postVar"))

我想你是在寻找方差估计的瓦尔德标准误差。请注意,这些(正如Doug Bates经常指出的)Wald标准误差通常非常差方差不确定性的估计,因为似然分布在方差标度上往往不是二次的。。。我假设你知道你在做什么,并且对这些数字有很好的用途

library("lme4")
model <- lmer(Reaction ~ Days + (1|Subject), sleepstudy, REML=FALSE)
库(“lme4”)

模型您可以发布此示例的数据吗?这也有助于了解标准误差的用途(正如我在下面指出的,方差估计的标准误差是不可靠的不确定性度量——配置文件间隔会更好),为什么希望标准误差用于非对称分布的参数。你应该重新思考你提出的问题。不要模仿SAS的错误。如果您想要进行hypo测试,则使用anove函数。如果需要CI,请使用配置文件或引导CI。lmer没有给出您要求的号码是有原因的。尽管Ben告诉了你如何得到它。不要让SAS或Stata报告的事实影响你们。你们能给我一个REML估算的参考吗。表中的结果是方差分量REML估计的标准误差。也许这就是我没有得到答案的原因。我已经正确地指定了模型,并且通过
VarCorr(model)
获得了方差分量的REML估计,该估计与表中的结果相匹配。如果您能告诉我如何计算
lmer的标准偏差的标准误差(Reaction~Days+(Days | | Subject),sleepstudy)
是否可以在lmer中计算REML估计值标准偏差的标准误差?如果我写
REML=TRUE
并以同样的方式进行,这不管用吗?我想可能不行。我可能会在。。。有几种方法可以做到这一点,但没有非常简单的解决方案。向随机效果选项(ranef)请求as.data.frame将转换为长格式condsd,并与条件标准偏差相对应
library("lme4")
model <- lmer(Reaction ~ Days + (1|Subject), sleepstudy, REML=FALSE)
 dd.ML <- lme4:::devfun2(model,useSc=TRUE,signames=FALSE)
 vv <- as.data.frame(VarCorr(model)) ## need ML estimates!
 pars <- vv[,"sdcor"]
 ## will need to be careful about order if using this for
 ## a random-slopes model ...
library("numDeriv")
hh1 <- hessian(dd.ML,pars)
vv2 <- 2*solve(hh1)  ## 2* converts from log-likelihood to deviance scale
sqrt(diag(vv2))  ## get standard errors
mn2=lmer(pun~ pre + (pre|pro), REML = TRUE, data = pro)
summary(mn2)
coe2=coef(mn2)
coe2

# Matriz de varianza-covarianza (covarianza)
as.data.frame(VarCorr(mn2))

# Extraer coeficientes fijos
fixef(mn2)

# Extraer desvios de a - alfa y b - beta
re=as.data.frame(ranef(mn2))