微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

同时估计2个模型

如何解决同时估计2个模型

因此,我正在尝试复制Bauer等人(2006年)在SAS上完成的模型。更准确地说,它是一个堆栈式调解模型:

其中Z,Sm和Sy是规格变量。也就是说,当Sm = 1且Sy = 0时,Z = M,等式变为Z = d + aX + eZ,其中S = 1时Z = m,反之亦然。使用单个方程式的较低级别的1-1-1(即1表示级别1)调解方程式。如果有人感兴趣,可以查看本文的补充材料,其中描述了如何在SAS中编码模型。现在,这里是我的代码尝试执行与R中相同的操作:

## install.packages("MuMIn")
require(mgcv)    
library(lme4) 
library(tidyverse)
library(dplyr)
library(MuMIn)
data <- read.csv("C:\\Users\\LocalUser\\OneDrive - McGill University\\Potential Project\\sim.csv")    
data$xy <- data$x    
# Add a Sy variable with values alternating between 0 and 1
data$Sy <- rep(c(1,0),each = 1)    
# Add a Sy variable with values alternating between 0 and 1
data$Sm <- rep(c(0,1),each = 1)    
# Add a Z variable to the dataframe data
for (row in 1:nrow(data)) {      
Sm = data[row,"Sm"]   
Sy = data[row,"Sy"]    
if(Sm == 1 || Sy == 0){    
 data$Z[row] <- data$m[row]
} else if (Sm != 1 || Sy != 0){      
  data$Z[row] <- data$y[row]
  }
}

# A subset of the original data frame up to id = 2 
rearrange <- subset(data,data$id <= 2)

#Ignore
################################################################################
#M <- data.frame("x" = data$x,"Z" = data$m,"m" = 0,"id" = data$id)

#Y <- data.frame("x" = data$x,"m" = data$m,"Z" = data$y,"id" = data$id)
################################################################################

如果您知道如何以更有效的方式复制Bauer模型,那就太好了。目前,我的想法是将这两种模型结合起来,但目前还不确定。

model <- lmer(Z ~ x + ( x | id),data = data,REML = TRUE,subset = Z == m  )    
model1 <- lmer(Z ~ xy + m  + ( xy + m | id),subset = Z == y)

补充材料met_bauer0009_supp1 p中也有一些详细信息。 2-3我不确定如何实现(即使用Kenward-Roger方法计算自由度从模型中删除一般截距)

也就是说,如果您知道如何同时估计两个模型,那就太好了。我也愿意接受建议!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。