I have dataset and i want to use my data for the model averaging. I am new to R and I find it difficult to understand how to use my data. what would be the exact failure time for my dataset? i have used 2 for left, 3 for interval and 0 for right. the R code is given in this site (Software for: Bayesian Stacked Parametric Survival with Frailty Components and Interval Censored Failure Times)
My dataset contains following information
`
structure(list(ID = 112:133, Event1 = c(4, NA, 33, NA, 4400,
NA, 1320, 425, 1320, 33, 2523, 124, 4400, 124, NA, 435, 435,
1475, 33, 4400, 425, 0.03), Event2 = c(0.3, 4500, 3, 4500, 1320,
4500, 425, 124, 425, 3, 1320, 33, 1320, 33, 4500, 133, 133, 1320,
3, 1320, 124, 0), Event.outcome = c(1L, 0L, 1L, 0L, 1L, 0L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 0L, 1L, 1L, 1L, 1L, 1L, 1L, 1L),
censoring = c(3L, 0L, 3L, 0L, 3L, 0L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 0L, 3L, 3L, 3L, 3L, 3L, 3L, 2L)), class = "data.frame", row.names = c(NA,
-22L))
library(rmutil)
library(stackedsurv)
library(rstan)
library(loo)
library(rstantools)
set.seed(123)
datasets <- list()
results <- array(0,dim=c(5,3,200))
# randomly draw failure times from a mixture distribution######################
weib.shape = 1; weib.scale = 10
igauss.mean = 7; igauss.scale = 0.25
p1 = 0.7 #probability of being a weibull distribution
N = 10 #number of independent observations
########################################################
#create an simlated dataset
#
#########################################################
cstudy <- 1
for (ii in 1:N){
nobs <- rpois(1,10) #numbe of observations in the study
truncf <- matrix(ii,ncol=3,nrow=nobs)
k <- 1
twshape = rlnorm(1,weib.shape,0.25)
tigshape = rlnorm(1,igauss.mean,0.25)
cdoses <- sort(rlnorm(10,1,1.4)+0.75) #Random dosing for each
#simulate data
for (jj in 1:nobs){
#two possible failure distributions
if (runif(1) < p1){
fail <- rweibull(1,twshape ,weib.scale)
}else{
fail <- rinvgauss(1,tigshape,igauss.scale)
}
###########################################
#determine the type of observed censoring
temp = which(fail < cdoses)[1]
if (is.na(temp)){ #right censored
out.t = c(max(cdoses),NA)
}else if (temp == 1){ #left censored
out.t = c(min(cdoses),NA)
}else{ #interval censored
out.t = c(cdoses[temp-1],cdoses[temp])
}
###########################################
truncf[k,2:3] = out.t
k <- k + 1
}
if (ii == 1){
sim.data = truncf
}else{
sim.data = rbind(sim.data,truncf)
}
}
data2 = sim.data
ID = data2[,1]
TR = data2[,2:3]
#TR = TR/max(TR,na.rm=TRUE)*100
CENC.MAT = matrix(0,nrow=nrow(TR))
#Create the Censoring matrix for the data
#exact same formulation as 'survival'package
# 0 = right censored
# 1 = exact failure time
# 2 = left censored
# 3 = interval censored
for (i in 1:nrow(TR)){
if ( !is.na(TR[i,1]) && !is.na(TR[i,2]))
{
CENC.MAT[i] = 3
}else{
if ( !is.na(TR[i,1]) && is.na(TR[i,2]))
{
CENC.MAT[i] = 2
TR[i,2] = -9999999999;
}else{
CENC.MAT[i] = 0
TR[i,1] = TR[i,2]
TR[i,2] = -9999999999;
}
}
}
`
I am trying to find out entry point where I can attach my dataset and perform the analysis. I would appreciate if someone could please help me in this regard.