heart2019 2019-11-25 01:27 采纳率: 0%
浏览 903

利用r语言msm包跑数据的时候提示numerical overflow in calculating likelihood,该怎么解决呢?

数据有10000多人,纵向随访数据,保留两次以上的随访对象,

library(msm)
library(readxl)
w<-read_excel("C:\Users\HEART\Desktop\2组分合在一起 - 把葡萄糖异常删除 - 副本.xlsx")
statetable.msm(state, id, data=w)
图片说明

Q<-rbind(c(0,0.076,0.02,0.057,0.018,0.063,0,0),c(0.30,0,0,0,0,0,0.158,0),c(0.095,0,0,0,0,0,0.30,0),c(0.278,0,0,0,0,0,0.174,0),c(0.278,0,0,0,0,0,0.225,0),c(0.266,0,0,0,0,0,0.149,0),c(0,0.056,0.07,0.042,0.015,0.056,0,0.239),c(0,0,0,0,0,0,0.183,0))
w.msm <-msm(state~years,subject=id,data=w,qmatrix=Q,method="BFGS",control=list(fnscale=4000,maxit = 10000))
w.msm
图片说明
wage.msm<-msm(state~years,subject=id,data=w,qmatrix=Q,covariates=~age,method="BFGS",control=list(fnscale=4000,maxit = 10000))

Error in Ccall.msm(params, do.what = "lik", ...) :
numerical overflow in calculating likelihood

年龄作为协变量时会提示数据溢出,该怎么改正这个错误呢?
  • 写回答

4条回答 默认 最新

  • 关注
    评论
  • Jaynanan 2021-05-30 09:31
    关注

    请问,楼主你的Q值如何确定的,是个初学者,请教一下:Q<-rbind(c(0,0.076,0.02,0.057,0.018,0.063,0,0),c(0.30,0,0,0,0,0,0.158,0),c(0.095,0,0,0,0,0,0.30,0),c(0.278,0,0,0,0,0,0.174,0),c(0.278,0,0,0,0,0,0.225,0),c(0.266,0,0,0,0,0,0.149,0),c(0,0.056,0.07,0.042,0.015,0.056,0,0.239),c(0,0,0,0,0,0,0.183,0))

    评论
  • 咯噔996 2022-06-26 10:56
    关注

    请问,楼主你的Q值如何确定的,是个初学者,请教一下:Q<-rbind(c(0,0.076,0.02,0.057,0.018,0.063,0,0),c(0.30,0,0,0,0,0,0.158,0),c(0.095,0,0,0,0,0,0.30,0),c(0.278,0,0,0,0,0,0.174,0),c(0.278,0,0,0,0,0,0.225,0),c(0.266,0,0,0,0,0,0.149,0),c(0,0.056,0.07,0.042,0.015,0.056,0,0.239),c(0,0,0,0,0,0,0.183,0))

    评论
  • 2401_88960648 2024-11-13 08:57
    关注

    请问楼主解决了吗

    评论
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部