LCMM图代码存在问题(下标类型“列表”无效)

时间:2019-02-01 18:32:15

标签: r

我正在尝试遵循有关运行潜在类混合模型的教程(此处链接: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 ==:下标类型“列表”无效

任何人都知道此错误是什么意思/如何解决?

这里是我所有代码和输出的图片:

info about variables being used in model

Probability values from model

Model Summary

Graph Code and Error

1 个答案:

答案 0 :(得分:0)

我们仍然无法重新创建您的错误;我确实找到了original tutorial posting以及full R codedata

所以我需要猜测你的错误。请注意,错误声明是“下标是列表”。 下标是函数调用sapply(datal$CONid, function(x) which(people3$CONid==x)。在默认设置下,如果函数的返回值的长度不规则(否则为向量或矩阵),则sapply函数将返回一个列表。也就是说,datal$CONid的元素在people3$CONid的条目中以不规则的频率出现。

希望您可以从这里开始工作。