R/JMjagssurvmodels.R

Defines functions eweibull.jm.surv eweibull.jm.surv.simple ggamma.jm.surv ggamma.jm.surv.simple llogistic.jm.surv llogistic.jm.surv.simple weibull.jm.surv weibull.jm.surv.simple lnormal.jm.surv lnormal.jm.surv.simple

#----Exponentiated Weibull-------------
eweibull.jm.surv<-function(){
for(i in 1:n.sample){
for (j in 1:ni) {
y[i,j] ~ dnorm(muy[i,j], inv.sigSqu[i])
muy[i,j]<-xalpha[i,j]+inprod(u[i,1:pp1],zlong[j,1:pp1])
}
zeros[i]~dpois(zeros.mean[i])
zeros.mean[i]<- -l[i]+const
for(k in 1:quad.points){
psi0[i,k]<-c15[k]*exp(-phi[i]*inprod(u[i,1:pp1],xx15[k,1:pp1]))
}
psi[i]<-(sum(psi0[i,1:quad.points])*st/2)*exp(-pred0[i])
l[i]<-log(max(min(1-pow(1-exp(-pow((rho[i]*psi[i]),kappa[i])),gam[i]),0.9999999999),0.0000000001))
u[i,1:pp1] ~ dmnorm(U0[],inv.Sigma[,,i])
}
}
##
eweibull.jm.surv.simple<-function(){
for(i in 1:n.sample){
for (j in 1:ni) {
y[i,j] ~ dnorm(muy[i,j], inv.sigSqu[i])
muy[i,j]<-xalpha[i,j]+inprod(u[i,1:pp1],zlong[j,1:pp1])
}
zeros[i]~dpois(zeros.mean[i])
zeros.mean[i]<- -l[i]+const
psi[i]<-(1-exp(-phi[i]*u[i,2]*st))*exp(-pred0[i]-phi[i]*u[i,1])/(phi[i]*u[i,2])
l[i]<-log(max(min(1-pow(1-exp(-pow((rho[i]*psi[i]),kappa[i])),gam[i]),0.9999999999),0.0000000001))
u[i,1:pp1] ~ dmnorm(U0[],inv.Sigma[,,i])
}
}
#----Generalized Gamma-------------
ggamma.jm.surv<-function(){
for(i in 1:n.sample){
for (j in 1:ni) {
y[i,j] ~ dnorm(muy[i,j], inv.sigSqu[i])
muy[i,j]<-xalpha[i,j]+inprod(u[i,1:pp1],zlong[j,1:pp1])
}
zeros[i]~dpois(zeros.mean[i])
zeros.mean[i]<- -l[i]+const
for(k in 1:quad.points){
psi0[i,k]<-c15[k]*exp(-phi[i]*inprod(u[i,1:pp1],xx15[k,1:pp1]))
}
psi[i]<-(sum(psi0[i,1:quad.points])*st/2)*exp(-pred0[i])
l[i]<-log(max(min(1-pgen.gamma(psi[i],gam[i],rho[i],kappa[i]),0.9999999999),0.0000000001))
u[i,1:pp1] ~ dmnorm(U0[],inv.Sigma[,,i])
}
}
##
ggamma.jm.surv.simple<-function(){
for(i in 1:n.sample){
for (j in 1:ni) {
y[i,j] ~ dnorm(muy[i,j], inv.sigSqu[i])
muy[i,j]<-xalpha[i,j]+inprod(u[i,1:pp1],zlong[j,1:pp1])
}
zeros[i]~dpois(zeros.mean[i])
zeros.mean[i]<- -l[i]+const
psi[i]<-(1-exp(-phi[i]*u[i,2]*st))*exp(-pred0[i]-phi[i]*u[i,1])/(phi[i]*u[i,2])
l[i]<-log(max(min(1-pgen.gamma(psi[i],gam[i],rho[i],kappa[i]),0.9999999999),0.0000000001))
u[i,1:pp1] ~ dmnorm(U0[],inv.Sigma[,,i])
}
}
#----Log-logistic-------------
llogistic.jm.surv<-function(){
for(i in 1:n.sample){
for (j in 1:ni) {
y[i,j] ~ dnorm(muy[i,j], inv.sigSqu[i])
muy[i,j]<-xalpha[i,j]+inprod(u[i,1:pp1],zlong[j,1:pp1])
}
zeros[i]~dpois(zeros.mean[i])
zeros.mean[i]<- -l[i]+const
for(k in 1:quad.points){
psi0[i,k]<-c15[k]*exp(-phi[i]*inprod(u[i,1:pp1],xx15[k,1:pp1]))
}
psi[i]<-(sum(psi0[i,1:quad.points])*st/2)*exp(-pred0[i])
l[i]<--log(1+pow((rho[i]*psi[i]),kappa[i]))
u[i,1:pp1] ~ dmnorm(U0[],inv.Sigma[,,i])
}
}
##
llogistic.jm.surv.simple<-function(){
for(i in 1:n.sample){
for (j in 1:ni) {
y[i,j] ~ dnorm(muy[i,j], inv.sigSqu[i])
muy[i,j]<-xalpha[i,j]+inprod(u[i,1:pp1],zlong[j,1:pp1])
}
zeros[i]~dpois(zeros.mean[i])
zeros.mean[i]<- -l[i]+const
psi[i]<-(1-exp(-phi[i]*u[i,2]*st))*exp(-pred0[i]-phi[i]*u[i,1])/(phi[i]*u[i,2])
l[i]<--log(1+pow((rho[i]*psi[i]),kappa[i]))
u[i,1:pp1] ~ dmnorm(U0[],inv.Sigma[,,i])
}
}
#----Weibull-------------
weibull.jm.surv<-function(){
for(i in 1:n.sample){
for (j in 1:ni) {
y[i,j] ~ dnorm(muy[i,j], inv.sigSqu[i])
muy[i,j]<-xalpha[i,j]+inprod(u[i,1:pp1],zlong[j,1:pp1])
}
zeros[i]~dpois(zeros.mean[i])
zeros.mean[i]<- -l[i]+const
for(k in 1:quad.points){
psi0[i,k]<-c15[k]*exp(-phi[i]*inprod(u[i,1:pp1],xx15[k,1:pp1]))
}
psi[i]<-(sum(psi0[i,1:quad.points])*st/2)*exp(-pred0[i])
l[i]<--pow((rho[i]*psi[i]),kappa[i])
u[i,1:pp1] ~ dmnorm(U0[],inv.Sigma[,,i])
}
}
##
weibull.jm.surv.simple<-function(){
for(i in 1:n.sample){
for (j in 1:ni) {
y[i,j] ~ dnorm(muy[i,j], inv.sigSqu[i])
muy[i,j]<-xalpha[i,j]+inprod(u[i,1:pp1],zlong[j,1:pp1])
}
zeros[i]~dpois(zeros.mean[i])
zeros.mean[i]<- -l[i]+const
psi[i]<-(1-exp(-phi[i]*u[i,2]*st))*exp(-pred0[i]-phi[i]*u[i,1])/(phi[i]*u[i,2])
l[i]<--pow((rho[i]*psi[i]),kappa[i])
u[i,1:pp1] ~ dmnorm(U0[],inv.Sigma[,,i])
}
}
#----Log-normal-------------
lnormal.jm.surv<-function(){
for(i in 1:n.sample){
for (j in 1:ni) {
y[i,j] ~ dnorm(muy[i,j], inv.sigSqu[i])
muy[i,j]<-xalpha[i,j]+inprod(u[i,1:pp1],zlong[j,1:pp1])
}
zeros[i]~dpois(zeros.mean[i])
zeros.mean[i]<- -l[i]+const
for(k in 1:quad.points){
psi0[i,k]<-c15[k]*exp(-phi[i]*inprod(u[i,1:pp1],xx15[k,1:pp1]))
}
psi[i]<-(sum(psi0[i,1:quad.points])*st/2)*exp(-pred0[i])
l[i]<-log(max(min(1-plnorm(psi[i],(-log(rho[i])),(kappa[i]*kappa[i])),0.9999999999),0.0000000001))
u[i,1:pp1] ~ dmnorm(U0[],inv.Sigma[,,i])
}
}
##
lnormal.jm.surv.simple<-function(){
for(i in 1:n.sample){
for (j in 1:ni) {
y[i,j] ~ dnorm(muy[i,j], inv.sigSqu[i])
muy[i,j]<-xalpha[i,j]+inprod(u[i,1:pp1],zlong[j,1:pp1])
}
zeros[i]~dpois(zeros.mean[i])
zeros.mean[i]<- -l[i]+const
psi[i]<-(1-exp(-phi[i]*u[i,2]*st))*exp(-pred0[i]-phi[i]*u[i,1])/(phi[i]*u[i,2])
l[i]<-log(max(min(1-plnorm(psi[i],(-log(rho[i])),(kappa[i]*kappa[i])),0.9999999999),0.0000000001))
u[i,1:pp1] ~ dmnorm(U0[],inv.Sigma[,,i])
}
}
sa4khan/AFTjmr documentation built on March 12, 2020, 1:24 a.m.