我正在尝试遵循有关运行潜在类混合模型的教程(此处链接:https://www.r-bloggers.com/latent-class-mixed-models-with-graphics/)。我的模型运行正常,但是在绘制潜在类时遇到了问题。
Con2 < lcmm(ConT~AdminCount,random=~AdminCount,subject='PID',mixture=~AdminCount,ng=3,idiag=TRUE,data=datal,link="linear")
summary(Con2)
datal$CONid <- as.character(datal$PID)
people3 <- as.data.frame(Con2$pprob[1:2])
datal$CONgroup <- character(people3$class[sapply(datal$CONid, function(x) which(people3$CONid==x))])
当我尝试运行最后一行代码时,出现此错误:
people3 $ class [sapply(datal $ CONid,function(x) 其中(people3 $ CONid ==:下标类型“列表”无效
任何人都知道此错误是什么意思/如何解决?
这里是我所有代码和输出的图片:
答案 0 :(得分:0)
我们仍然无法重新创建您的错误;我确实找到了original tutorial posting以及full R code和data。
所以我需要猜测你的错误。请注意,错误声明是“下标是列表”。 下标是函数调用sapply(datal$CONid, function(x) which(people3$CONid==x)
。在默认设置下,如果函数的返回值的长度不规则(否则为向量或矩阵),则sapply函数将返回一个列表。也就是说,datal$CONid
的元素在people3$CONid
的条目中以不规则的频率出现。
希望您可以从这里开始工作。