MasterIPDADnetmeta.R

# This file run IPDnetmeta, IPDnetmetareg, IPDADnetmeta, IPDADnetmetareg for simulations

# To date (19.6.2020) I did not replicate simulations for many times but the results so far are reasonable to some extent.
# in JAGS model, j refers to study and i to participant but this is reveresed in the description file!

# libraries
library(devtools)
library(R2jags)
install_github('htx-r/GenericModelNMA',force = T)
library(GenericModelNMA)



#** IPDnetmeta

# simulate data
ds <- simulateIPDADnetmeta(reg = FALSE)
IPDdata <- ds$IPDdata


# make data in jagsmodel format
m <- matrix(c(rep(c(1,2),5),rep(c(1,3),5),rep(c(2,3),5)),nrow=15,ncol = 2,byrow = T)
jagsdataIPDnetmeta <- list(y=IPDdata$y,treat=as.numeric(as.factor(IPDdata$treat)),baseline=rep(1,nrow(IPDdata)),studyid=IPDdata$studyid,
                           t=m,np=nrow(IPDdata),na=rep(2,15),nt=3,nIPD=15,ref=1)
# run jagsmodel
jagsmodelIPDnetmeta <- jags.parallel(data = jagsdataIPDnetmeta,inits=NULL,parameters.to.save = c('d','tau'),model.file = modelIPDnetmeta,
                                     n.chains=3,n.iter = 10000,n.burnin = 2000,DIC=F,n.thin = 1)
jagsmodelIPDnetmeta

#** IPDnetmetareg

# simulate data
ds <- simulateIPDADnetmeta(reg = TRUE)
IPDdata <- ds$IPDdata

# make data in jagsmodel format
xbar0 <- sapply(1:15, function(i) mean(IPDdata$x[IPDdata$studyid==i]))
npIPD <- sapply(1:15, function(i) nrow(IPDdata[IPDdata$studyid==i,]))
xbar <- rep(xbar0, times=npIPD)
m <- matrix(c(rep(c(1,2),5),rep(c(1,3),5),rep(c(2,3),5)),nrow=15,ncol = 2,byrow = T)

jagsdataIPDnetmetareg <- list(y=IPDdata$y,treat=as.numeric(as.factor(IPDdata$treat)),baseline=rep(1,nrow(IPDdata)),studyid=IPDdata$studyid,
                              t=m,np=nrow(IPDdata),na=rep(2,15),nt=3,nIPD=15,ref=1,
                              x=IPDdata$x,xbar=xbar)

# run jags model
jagsmodelIPDnetmetareg <- jags.parallel(data = jagsdataIPDnetmetareg,inits=NULL,parameters.to.save = c('d','bw','bb'),model.file = modelIPDnetmetareg,
                                        n.chains=3,n.iter = 1000,n.burnin = 200,DIC=F,n.thin = 1)
jagsmodelIPDnetmetareg


#** IPDADnetmeta

# simulate data
ds <- simulateIPDADnetmeta(reg = FALSE)
IPDdata <- ds$IPDdata
ADdata <- ds$ADdata

# make data in jagsmodel format
m <- matrix(c(rep(c(1,2),5),rep(c(1,3),5),rep(c(2,3),5),
              rep(c(1,2),10),rep(c(1,3),10),rep(c(2,3),10)),nrow=(15+30),ncol = 2,byrow = T)
rmat <- matrix(c(ADdata$r[1:10],ADdata$r[21:30],rep(NA,10),ADdata$r[11:20],rep(NA,10),ADdata$r[41:50],
                 rep(NA,10),ADdata$r[31:40],ADdata$r[51:60]),nrow=30,ncol = 3)
nmat <- matrix(c(ADdata$n[1:10],ADdata$n[21:30],rep(NA,10),ADdata$n[11:20],rep(NA,10),ADdata$n[41:50],
                 rep(NA,10),ADdata$n[31:40],ADdata$n[51:60]),nrow=30,ncol = 3)
jagsdataIPDADnetmeta <- list(y=IPDdata$y,treat=as.numeric(as.factor(IPDdata$treat)),baseline=rep(1,nrow(IPDdata)),studyid=IPDdata$studyid,
                             t=m,np=nrow(IPDdata),na=rep(2,(15+30)),nt=3,nIPD=15,ref=1,
                             nAD=30,r=rmat,n=nmat)
# run jags model
jagsmodelIPDADnetmeta <- jags.parallel(data = jagsdataIPDADnetmeta,inits=NULL,parameters.to.save = c('d','tau'),model.file = modelIPDADnetmeta,
                                       n.chains=3,n.iter = 1000,n.burnin = 200,DIC=F,n.thin = 1)
jagsmodelIPDADnetmeta

#** IPDADnetmetareg

# simulate data
ds <- simulateIPDADnetmeta(reg = TRUE)
IPDdata <- ds$IPDdata

# make data in jagsmodel format
xbar0 <- sapply(1:15, function(i) mean(IPDdata$x[IPDdata$studyid==i]))
npIPD <- sapply(1:15, function(i) nrow(IPDdata[IPDdata$studyid==i,]))
xbar <- rep(xbar0, times=npIPD)

ADdata <- ds$ADdata
xbar.a <- ADdata$xbar.a[1:30]

m <- matrix(c(rep(c(1,2),5),rep(c(1,3),5),rep(c(2,3),5),
              rep(c(1,2),10),rep(c(1,3),10),rep(c(2,3),10)),nrow=(15+30),ncol = 2,byrow = T)
rmat <- matrix(c(ADdata$r[1:10],ADdata$r[21:30],rep(NA,10),ADdata$r[11:20],rep(NA,10),ADdata$r[41:50],
                 rep(NA,10),ADdata$r[31:40],ADdata$r[51:60]),nrow=30,ncol = 3)
nmat <- matrix(c(ADdata$n[1:10],ADdata$n[21:30],rep(NA,10),ADdata$n[11:20],rep(NA,10),ADdata$n[41:50],
                 rep(NA,10),ADdata$n[31:40],ADdata$n[51:60]),nrow=30,ncol = 3)
jagsdataIPDADnetmetareg <- list(y=IPDdata$y,treat=as.numeric(as.factor(IPDdata$treat)),baseline=rep(1,nrow(IPDdata)),studyid=IPDdata$studyid,
                                t=m,np=nrow(IPDdata),na=rep(2,(15+30)),nt=3,nIPD=15,ref=1,x=IPDdata$x,xbar=xbar,
                                nAD=30,r=rmat,n=nmat,xbar.a=xbar.a)

# run jags model
jagsmodelIPDADnetmetareg <- jags.parallel(data = jagsdataIPDADnetmetareg,inits=NULL,parameters.to.save = c('d','tau','bb','bw','LOR'),model.file = modelIPDADnetmetareg,
                                          n.chains=3,n.iter = 1000,n.burnin = 200,DIC=F,n.thin = 1)
jagsmodelIPDADnetmetareg

#
htx-r/GenericModelNMA documentation built on Nov. 10, 2020, 2:36 a.m.