1308 1

[问答] lme函数中的ns()放到stan_jm函数中 [推广有奖]

  • 3关注
  • 2粉丝

大专生

23%

还不是VIP/贵宾

-

威望
0
论坛币
25 个
通用积分
1.0518
学术水平
1 点
热心指数
1 点
信用等级
1 点
经验
4614 点
帖子
19
精华
0
在线时间
53 小时
注册时间
2017-9-22
最后登录
2023-11-13

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
大佬救命:
在JMbayes中的函数如下:

lmeFit <- lme(y ~ 0 + group + group:ns(time, k = c(2.5, 6), B = c(0.5, 13)),
              data = train_data,
              random = list(id = pdDiag(form = ~ ns(time, k = c(2.5, 6),
                                                    B = c(0.5, 13)))))
survFit <- coxph(Surv(Time, event) ~ group ,
                 data = train_data.id, x = TRUE)
# current value
jointFit1 <- jointModelBayes(lmeFit, survFit, timeVar = "time",
                             n.iter = 2000L,
                             priors = list(priorA.tauBs = 1e-01, priorB.tauBs = 1e-01))

dForm <- list(fixed = ~ 0 + group:dns(time, k = c(2.5, 6), B = c(0.5, 13)),
              indFixed = 3:8,
              random = ~ 0 + dns(time, k = c(2.5, 6), B = c(0.5, 13)),
              indRandom = 2:4)
jointFit2 <- update(jointFit1, param = "td-both", extraForm = dForm)

如果把上述代码换成rstanarm包的stan_jm函数:
D1 <- stan_jm(formulaLong = y ~ 0 + group + group:ns(time, k = c(2.5, 6), B = c(0.5, 13))
              + (ns(time, k = c(2.5, 6),B = c(0.5, 13))|id)
,
              dataLong = train_data,
              formulaEvent = survival::Surv(Time, event) ~ group,
              dataEvent =train_data.id,
              assoc = "etavalue",
              time_var = "time",
              chains = 1,cores = 1,refresh = 500, iter=2000)

D2 <- stan_jm(formulaLong = y ~ 0 + group + group:ns(time, k = c(2.5, 6), B = c(0.5, 13))+
                group:dns(time,k=c(2.5,6),B=c(0.5,13))
              + ((ns(time, k = c(2.5, 6),B = c(0.5, 13))+dns(time,k=c(2.5,6),B=c(0.5,13)))|id)
,
              dataLong = train_data,
              formulaEvent = survival::Surv(Time, event) ~ group,
              dataEvent =train_data.id,
              assoc = c("etavalue", "etaslope"),
              time_var = "time",
              chains = 1,cores = 1, refresh = 500,  iter=1000)
这样好像是不对的,因为最后拟合出来的结果,rstanarm包的结果不理想。问题应该出在红色字体部分,但我不知道怎么修改,求大神指点。


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:STAN LME Tan Bayes baye

已有 1 人评分论坛币 收起 理由
aclyang + 40 精彩帖子

总评分: 论坛币 + 40   查看全部评分

沙发
爱笑的大眼睛 发表于 2019-6-14 14:41:59 来自手机 |只看作者 |坛友微信交流群
爱笑的大眼睛 发表于 2019-6-14 11:47
大佬救命:
在JMbayes中的函数如下:

有没有大神来指点我一下呀,好着急啊

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-27 13:51