问题描述
因此,我正在尝试复制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 (将#修改为@)