You are here

unexpected string constant error message in mxModel

6 posts / 0 new
Last post
rranne2@uic.edu's picture
Offline
Joined: 12/11/2018 - 00:08
unexpected string constant error message in mxModel

Hi there,

I'm looking at how neuroticism ("per_neurot_y1f") predicts later change in symptoms of anxiety (from Time 1 to Time 3). I'm not sure why I'm getting this error message about this particular string of my model. Here's my code.

manifests <- c("Time1newanxiety", "Time3anxiety", "per_neurot_y1f")
latents<-"F1"
 
myModelstep2<-mxModel(model="Step two", type="RAM", manifestVars=manifests, latentVars=latents,
mxPath(from="Time1newanxiety", to="Time3anxiety", arrows=1, free=FALSE, values=1, labels=c("L1")), 
mxPath(from = "F1", to = "Time3anxiety", arrows=1, free=FALSE , values=1, labels=c("L2")), 
mxPath(from ="Time1newanxiety", to = "F1", arrows = 2, free=TRUE, values = .4, labels=c("L3")), 
mxPath(from = "per_neurot_y1f", to "Time1newanxiety", arrows=2, free=TRUE, values=.6, labels=c("L4")), mxPath(from = "per_neurot_y1f", to "F1", arrows = 1, free=TRUE, values = .3, labels=c("L5")), 
mxPath(from = "F1", to = "F1", arrows = 2, free=TRUE, values = 1, labels=c("e1")), 
mxPath(from = "Time1newanxiety", to = "Time1newanxiety", arrows=2, free=TRUE, values = .8, labels=c("e2")), 
mxPath(from "per_neurot_y1f", to "per_neurot_y1f", arrows = 2, free=TRUE, values = 1, labels=c("e3")), 
mxPath(from = "one", to = "Time1newanxiety", arrows=1, free=TRUE, values = 7.36, labels=c("manxiety1")),
mxPath(from = "one", to = "F1", arrows=1, free=TRUE, values = .1, labels=c("mchangeanxiety")), 
mxPath(from = "one", to "per_neurot_y1f", arrows = 1, free=TRUE, values = 8.83, labels=c("mneurot")),
mxData(observed=mydata3, type="raw"))

Error: unexpected string constant in "labels=c("L1")), mxPath(from = "F1", to = "Time3anxiety", arrows=1, free=FALSE , values=1, labels=c("L2")), mxPath(from ="Time1newanxiety", to = "F1", arrows = 2, free=TRUE, values = .4, label"

I'm not seeing how that string is really that different from any other part of the mode. I was able to run a more simple version of this model just creating a latent difference score of change in anxiety from Time 1 to Time 3, without adding "per_neurot_y1f," so I don't understand why the same code from that old model now is a problem.

Any help would be greatly appreciated!

rranne2@uic.edu's picture
Offline
Joined: 12/11/2018 - 00:08
reformatting

The L5 line wasn't indented so you can't see it in the original post. Here's a better formatted version

myModelstep2<-mxModel(model="Step two", type="RAM", manifestVars=manifests, latentVars=latents,
mxPath(from="Time1newanxiety", to="Time3anxiety", arrows=1, free=FALSE, values=1, labels=c("L1")),
mxPath(from = "F1", to = "Time3anxiety", arrows=1, free=FALSE , values=1, labels=c("L2")),
mxPath(from ="Time1newanxiety", to = "F1", arrows = 2, free=TRUE, values = .4, labels=c("L3")),
mxPath(from = "per_neurot_y1f", to "Time1newanxiety", arrows=2, free=TRUE, values=.6, labels=c("L4")),
mxPath(from = "per_neurot_y1f", to "F1", arrows = 1, free=TRUE, values = .3, labels=c("L5")),
mxPath(from = "F1", to = "F1", arrows = 2, free=TRUE, values = 1, labels=c("e1")),
mxPath(from = "Time1newanxiety", to = "Time1newanxiety", arrows=2, free=TRUE, values = .8, labels=c("e2")),
mxPath(from "per_neurot_y1f", to "per_neurot_y1f", arrows = 2, free=TRUE, values = 1, labels=c("e3")),
mxPath(from = "one", to = "Time1newanxiety", arrows=1, free=TRUE, values = 7.36, labels=c("manxiety1")),
mxPath(from = "one", to = "F1", arrows=1, free=TRUE, values = .1, labels=c("mchangeanxiety")),
mxPath(from = "one", to "per_neurot_y1f", arrows = 1, free=TRUE, values = 8.83, labels=c("mneurot")),
mxData(observed=mydata3, type="raw"))

AdminRobK's picture
Offline
Joined: 01/24/2014 - 12:15
=

There are four calls to mxPath() in that syntax that don't have an equals sign between named argument to and its intended value.

AdminRobK's picture
Offline
Joined: 01/24/2014 - 12:15
from

There's also an equals sign missing after from in one of the calls as well.

jpritikin's picture
Offline
Joined: 05/24/2012 - 00:35
to

You're missing the '=' after 'to'. You have to "Time1newanxiety" instead of to="Time1newanxiety"

rranne2@uic.edu's picture
Offline
Joined: 12/11/2018 - 00:08
Thank you! Whoops that was

Thank you! Whoops that was silly of me! I was so focused on the part that the error message pointed my attention to that I forgot to double check the rest of my code.