1345 5

[有偿编程] lavvan包循环如何使用? [推广有奖]

  • 0关注
  • 0粉丝

初中生

28%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0.0000
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
145 点
帖子
8
精华
0
在线时间
14 小时
注册时间
2021-12-17
最后登录
2023-9-9

楼主
又是偷图的一天 发表于 2021-12-20 10:48:36 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
我想设立一个结构方程模型(sem)的循环,用的lavvan包,但是他这样报错怎么办?
  1. for(i in 1:18){fit<-'mydata[,i+19]~mydata[,i]+mydata[,i+1];mydata[,i+20]~mydata[,i]+mydata[,i+1]';model.est<-sem(fit,estimator="ML",data = mydata);resultl<-rbind(resultl,c(colnames(mydata)[i],coef(summary(model.est,fit.measures=T,standardized=T))))}
复制代码
报错: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.
二维码

扫码加我 拉你入群

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

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

关键词:如何使用 Van

沙发
又是偷图的一天 发表于 2021-12-20 10:49:53
或者兄弟们,怎么去跑带循环的结构方程模型

藤椅
又是偷图的一天 发表于 2021-12-20 10:49:56
或者兄弟们,怎么去跑带循环的结构方程模型

板凳
又是偷图的一天 发表于 2021-12-20 12:15:58
  1. for(nh in 1:18){fit<-'nihao[,nh+19]~nihao[,nh]+nihao[,nh+1];nihao[,nh+20]~nihao[,nh]+nihao[,nh+1]';model.est<-sem(fit,estimator="ML",data = nihao);resultl<-rbind(resultl,c(colnames(nihao)[nh],coef(summary(model.est,fit.measures=T,standardized=T))))}
复制代码


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

报纸
szxship 发表于 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.

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-29 07:08