R包“JM”: missing value where TRUE/FALSE needed

标签 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 包适合贝叶斯联合模型,可能允许您包括这些人。

关于R包“JM”: missing value where TRUE/FALSE needed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53001556/

相关文章:

r - 按特定时间切割 POSIXct 以获取日常方法

r - 将地理坐标映射到 R 中的 map 对象

r - src_postgres 和 dbConnect 函数将 R 与 postgres 连接的区别

r - 在保留组的同时填充数值变量

javascript - 无法在r中使用phantomjs抓取多个页面

r - 无环境序列化闭包

r - 一种检测 NaN、NA、Inf、-Inf 等的函数?

r - IBrokers 历史指数数据

r - 如何访问复杂列表中的元素?

R dplyr 根据给定列的数值过滤行