lmer()中的加权数据和使用glmulti()的模型平均问题
我在对权重数据执行线性混合模型(LMM)时遇到了困难(我的意思是不同组的权重不同)。此外,使用glmulti()时似乎没有保留权重。下面是一个可复制的示例:lmer()中的加权数据和使用glmulti()的模型平均问题,r,weighted,lmer,R,Weighted,Lmer,我在对权重数据执行线性混合模型(LMM)时遇到了困难(我的意思是不同组的权重不同)。此外,使用glmulti()时似乎没有保留权重。下面是一个可复制的示例: require(lme4) require (glmulti) data(cake) cake$wght <- as.numeric(cake$replicate) fm1 <- lmer(angle ~ recipe + temperature + (1|replicate), cake, REML= FALSE) p
require(lme4)
require (glmulti)
data(cake)
cake$wght <- as.numeric(cake$replicate)
fm1 <- lmer(angle ~ recipe + temperature + (1|replicate), cake, REML= FALSE)
print(VarCorr(fm1),comp=c("Variance","Std.Dev."))
require(lme4)
需要(glmulti)
数据(蛋糕)
cake$wght以上是对我自己帖子的简短回答
1/处理线性混合模型中的权重:
为了避免由于权重而导致RE的剩余方差大幅膨胀,once可以“简单地”确保所有权重之和等于1
2/将权重整合到模型平均程序(glmulti)
直接将砝码插入包装中(感谢Vincent Calcagno的提示)。
根据前面的示例:
wlmer.glmulti <- function (formula, data, random = "", weights ,...) {
lmer(paste(deparse(formula), random), data = data, weights)}
wlmer.glmulti
wlmer.glmulti <- function (formula, data, random = "", weights ,...) {
lmer(paste(deparse(formula), random), data = data, weights)}
#(watch out doesn't converge!!)
LMM <- glmulti(angle ~ recipe + temperature , data=cake, random="+ (1|replicate)", fitfunc = wlmer.glmulti, weights=cake$wght,report=T, level = 1,crit="aic",method="g")
summary(LMM@objects[[1]]) # is similar to fm1
wlmer.glmulti <- function (formula, data, random = "", weights ,...) {
lmer(paste(deparse(formula), random), data = data, weights)}
wlmer.glmulti <- function (formula, data, random = "", weights ,...) {
lmer(paste(deparse(formula), random), data = data, data$wght)}