Bila
Bila

Reputation: 11

Multilevel mediation analysis in R with mlma package produces errors

I would like to perform a multilevel mediation analysis in R with the mlma package. My code is based on the example for these analyses here: https://rdrr.io/cran/mlma/f/vignettes/MLMAvignette.Rmd.

Overall, I am very unsure whether my code is correct, but from the explanations I have read through I am not much smarter and I seem to produce only code that does not work.

Currently I get the error

Error in grep(temp.mnames[i], mnames) : invalid 'pattern' argument`

I've already googled this, but only found this error code in other versions.

I also have the suspicion that there might be some basic errors in the code or in my procedure, which would cause errors in the following steps.

Generell informations: My variables are: Emotional Exhaustion (EE) is x, Sexual desire (SV) is m (mediator), Relationship satisfaction (BZ) is y, (subjects (VPN) is group variable).

I´ve asked my subjects about their EE, SV, and BZ at different time points. My group variable has the format integer. All other variables are continuous (numeric). I want to make the analyses at level 1 of all variables.

Data and code: Since I already have a ready-made dataset with the variables of interest, I skipped the "A simulated dataset" part.

Now we still need to do the "Data Transformation and Organization".

Here you can see the sample code from the link above.

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")) 

From the explanation of the code, here are my thoughts:

Under "The function $mlma$ for multilevel mediation analysis", this code is added.

mlma.e1<-mlma(y=y,data1=example1,intercept=F)
mlma.e1

My code resulting from these two blocks looks like this:

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)

The problem: Unfortunately, already when running the first line, the following error appears

Error in grep(temp.mnames[i], mnames) : invalid 'pattern' argument

I don't know exactly why this error message appears and I'm not sure if the code is correct or if there are also other mistakes.

I would be very grateful for any hints and suggestions.

Upvotes: 1

Views: 464

Answers (1)

JustGettinStarted
JustGettinStarted

Reputation: 834

Have you tried inputing data.frames and vectors as in the example? the grep error likely stems from inability to find object/names when you are calling the data.bin function.

For example have you tried.

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"])

Its difficult to diagnose your problem without reproducible code, but superficially looking at differences between the working example and your implementation this pops out.

Upvotes: 0

Related Questions