我想使用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$中未指定任何内容,则预测器将保持其原始格式而不进行转换。”->将f01 y留空。
- 对于f01 km 2,我不知道该怎么做。我想我可以像f01 y一样处理它,只是把它留空。
在“Thefunction $mlma$formultilayer mediation analysis”下,添加了以下代码。
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
型
我不知道为什么会出现这个错误消息,我不确定代码是否正确,或者是否还有其他错误。
我将非常感谢任何提示和建议。
1条答案
按热度按时间wtlkbnrh1#
你有没有试过像例子中那样输入数据、帧和矢量?grep错误可能是由于在调用data.bin函数时无法找到对象/名称。
例如,你试过。
字符串
如果没有可复制的代码,很难诊断您的问题,但是从表面上看工作示例和您的实现之间的差异,这会突然出现。