全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
1245 5
2021-12-20
我想设立一个结构方程模型(sem)的循环,用的lavvan包,但是他这样报错怎么办?
复制代码
报错:Error in lavParseModelString(model) :
  lavaan ERROR: left hand side (lhs) of this formula:
    mydata[,i+19] ~ mydata[,i]+mydata[,i+1]
    contains either a reserved word (in R) or an illegal character: “mydata[,i”“19]”
    See ?reserved for a list of reserved words in R
    Please use a variable name that is not a reserved word in R
    and use only characters, digits, or the dot symbol.
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2021-12-20 10:49:53
或者兄弟们,怎么去跑带循环的结构方程模型
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2021-12-20 10:49:56
或者兄弟们,怎么去跑带循环的结构方程模型
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2021-12-20 12:15:58
复制代码


兄弟们,我又尝试把变量名字改了,还是不行呜呜呜
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2021-12-20 18:37:55
问题 在这一行fit <- "nihao[,nh+19]~nihao[,nh]+nihao[,nh+1];nihao[,nh+20]~nihao[,nh]+nihao[,nh+1]"
你的nh的值无法传递到字符串里,改成以下格式看看
for (nh in 1:18) {
    fit <- "nihao[,nh+19]~nihao[,nh]+nihao[,nh+1];nihao[,nh+20]~nihao[,nh]+nihao[,nh+1]"
    nhstr = as.character(nh)
    fit <- stringr::str_replace_all(fit, 'nh', nhstr)
    print(fit) #此行可删除
    model.est <- sem(fit, estimator = "ML", data = nihao)
    resultl <- rbind(resultl, c(colnames(nihao)[nh], coef(summary(model.est, fit.measures = T, standardized = T))))
}
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2021-12-22 21:23:29
szxship 发表于 2021-12-20 18:37
问题 在这一行fit
好兄弟,非常非常感谢你,感谢您抽出了一些时间回答这个问题,但是这个结果还是有点不如人意,我按照你的代码试了一下,结果依旧是和上面一样,行不通,以下是错误代码,呜呜呜。
Error in lavParseModelString(model) :
  lavaan ERROR: left hand side (lhs) of this formula:
    nihao[,1+19] ~ nihao[,1]+nihao[,1+1]
    contains either a reserved word (in R) or an illegal character: “nihao[,1”“19]”
    See ?reserved for a list of reserved words in R
    Please use a variable name that is not a reserved word in R
    and use only characters, digits, or the dot symbol.
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群