R 中使用 mlma 包的多级中介分析会产生错误

问题描述 投票:0回答:1

我想使用 mlma 包在 R 中执行多级中介分析。 我的代码基于此处的这些分析示例:https://rdrr.io/cran/mlma/f/vignettes/MLMAvignette.Rmd

总的来说,我非常不确定我的代码是否正确,但从我读过的解释来看,我并没有聪明多少,而且我似乎只生成了不起作用的代码。

目前我收到错误

Error in grep(temp.mnames[i], mnames) : invalid 'pattern' argument`
我已经用谷歌搜索过这个,但只在其他版本中找到了这个错误代码。

我也怀疑代码或我的程序中可能存在一些基本错误,这会导致以下步骤出现错误。

一般信息: 我的变量是: 情绪疲惫 (EE) 是 x, 性欲(SV)是m(中介), 关系满意度 (BZ) 为 y, (主题(VPN)是组变量)。

我在不同时间点向我的受试者询问了他们的 EE、SV 和 BZ。 我的组变量的格式为整数。 所有其他变量都是连续的(数字)。我想对所有变量进行第 1 级分析。

数据和代码: 由于我已经有了一个包含感兴趣变量的现成数据集,因此我跳过了“模拟数据集”部分。

现在我们还要做“数据转换和组织”。

您可以在上面的链接中看到示例代码。

example1<-data.org(x=cbind(x1=x1,x2=x2), m=cbind(m1=m1,m2=m2), f01y=list(2,c("x","ifelse(x>0,log(x+1),0)")), level=level, f01km2=list(matrix(c(2,2),1,2),"x^2"))
从代码的解释来看,我的想法是:

    我需要插入额外的 y,因为 $levely$ 没有预定义。
  • “$level$ 是一个向量,记录每个观察的组号。” -> 我需要为此插入 VPN。
  • “如果 $f01y$ 或 $f10y$ 中未指定任何内容,则预测变量将保持其原始格式而不进行转换。” -> 将 f01y 留空。
  • 对于f01km2,我不知道该怎么办。我想我可以像 f01y 一样处理它,然后将其留空。
在“用于多级中介分析的函数 $mlma$”下,添加此代码。

mlma.e1<-mlma(y=y,data1=example1,intercept=F) mlma.e1
这两个块产生的代码如下所示:

medi<-data.org(x=EE, m=SV, y=BZ, level=VPN) mlma.e2<-mlma(y=BZ, data=medi,intercept=F) mlma.e2 summary(mlma.e2)

问题: 不幸的是,在运行第一行时,出现以下错误

Error in grep(temp.mnames[i], mnames) : invalid 'pattern' argument
我不知道为什么会出现这个错误信息,也不确定代码是否正确或者是否还有其他错误。

如果有任何提示和建议,我将非常感激。

r mediator multilevel-analysis mlm
1个回答
0
投票
您是否尝试过像示例中那样输入 data.frames 和向量? grep 错误可能源于调用 data.bin 函数时无法找到对象/名称。

例如你尝试过吗?

data <- cbind(EE,SV,BZ,VPN) medi <- data.org(x=data.frame(data[,"EE"]), m=data.frame(data[,"SV"]), y=data[,"BZ"], level=data[,"VPN"])
如果没有可重现的代码,很难诊断你的问题,但从表面上看工作示例和你的实现之间的差异就会出现。

© www.soinside.com 2019 - 2024. All rights reserved.