R 包"JM":需要 TRUE/FALSE 的缺失值

  • 本文关键字:FALSE TRUE JM 需要 r
  • 更新时间 :
  • 英文 :


我收到以下错误消息:

Error in if (t1 || t2) { : missing value where TRUE/FALSE needed

当我刚输入:

library(JM)
lmefit=lme(ADAS11+apoe4+AGEING,random = ~AGEING|RID,data = AD,na.action=na.exclude)
coxfit=coxph(Surv(AGEEND,DXEND)~apoe4bl+,data = AD.RID,x=TRUE)
jointfit=jointModel(lmefit,coxfit,timeVar = "AGEING")

这意味着什么,我该如何解决。谢谢

我也遇到了同样的问题,发现排除一些ID可以避免错误消息。

我的数据集中的一些ID只包含纵向变量的一个数据点。当我从数据中删除这些ID时,只包括至少有2个条目的ID,模型运行时没有出现错误。我怀疑这是造成问题的原因,因为模型可能不知道如何估计这些变量的随机效应梯度。

去除它们的一种方法:

AD <- AD[which(is.element(AD$RID,
AD$RID[duplicated(AD$RID)])),]

请注意,您必须将它们从AD和AD.RID中删除,因为这些数据集需要相对应,其中AD和AD-RID都是按ID排序的,并且包含相同的个人。

至于变量t1和t2是什么,以及到底是什么导致了错误,我不确定——我检查了jointModel、coxph和lme的源代码,它们没有出现在任何函数中。

如果你想包括这些ID,在贝叶斯框架中可能比频繁列表更有可能,因为使用贝叶斯方法更容易处理丢失的数据。我还没有看过,但R中的JMBayes包适合贝叶斯联合模型,可能允许您将这些人包括在内。

最新更新