inst/doc/simulatorZ-vignette.R

### R code from vignette source 'simulatorZ-vignette.Rnw'

###################################################
### code chunk number 1: style
###################################################
BiocStyle::latex()


###################################################
### code chunk number 2: simulatorZ-vignette.Rnw:57-58
###################################################
library(simulatorZ)


###################################################
### code chunk number 3: simulatorZ-vignette.Rnw:93-97 (eval = FALSE)
###################################################
## library(curatedOvarianData)
## source(system.file("extdata",
##                    "patientselection.config",package="curatedOvarianData"))
## source(system.file("extdata", "createEsetList.R", package="curatedOvarianData"))


###################################################
### code chunk number 4: simulatorZ-vignette.Rnw:104-109
###################################################
library(curatedOvarianData)
data(GSE17260_eset)
data(E.MTAB.386_eset)
data(GSE14764_eset)
esets.orig <- list(GSE17260=GSE17260_eset, E.MTAB.386=E.MTAB.386_eset, GSE14764=GSE14764_eset)


###################################################
### code chunk number 5: cleanEsets
###################################################
cleanEsets <- function(obj, keep.common.only=TRUE, meta.required=NULL){
    if(keep.common.only){
        intersect.features <- Reduce(intersect, lapply(obj, featureNames))
        for (i in seq_along(obj))
            obj[[i]] <- obj[[i]][intersect.features, ]
    }
    if(!is.null(meta.required)){
        obj <- lapply(obj, function(obj1){
            for (x in meta.required)
                obj1 <- obj1[, !is.na(obj1[[x]])]
            if(ncol(obj1) > 0){
                return(obj1)
            }else{
                return(NULL)
            }
        })
        return(obj[!sapply(obj, is.null)])
    }
}


###################################################
### code chunk number 6: simulatorZ-vignette.Rnw:143-146
###################################################
esets <- cleanEsets(esets.orig, meta.required=c("days_to_death", "vital_status"))
esets <- lapply(esets, function(eset) eset[1:1000, ])
sapply(esets, dim)


###################################################
### code chunk number 7: simulatorZ-vignette.Rnw:158-161
###################################################
set.seed(8)
sim.esets <- simData(esets, n.samples=500)
names(sim.esets)


###################################################
### code chunk number 8: simulatorZ-vignette.Rnw:183-184
###################################################
sim.esets <- simData(esets, 500, type="one-step")


###################################################
### code chunk number 9: simulatorZ-vignette.Rnw:194-195
###################################################
cleaned.esets <- cleanEsets(esets.orig, meta.required="tumorstage")


###################################################
### code chunk number 10: simulatorZ-vignette.Rnw:199-203
###################################################
sim.sets <- simData(cleaned.esets, 500, 
                    balance.variables="tumorstage")
sim.sets$prob.desired
sim.sets$prob.real[[1]]


###################################################
### code chunk number 11: simulatorZ-vignette.Rnw:209-210
###################################################
cleaned.esets <- cleanEsets(esets.orig, meta.required=c("tumorstage", "grade"))


###################################################
### code chunk number 12: simulatorZ-vignette.Rnw:214-218
###################################################
sim.sets <- simData(cleaned.esets, 500, 
                    balance.variables=c("tumorstage", "grade"))
sim.sets$prob.desired
sim.sets$prob.real[[1]]


###################################################
### code chunk number 13: simulatorZ-vignette.Rnw:228-231
###################################################
y.list <- lapply(esets, function(eset){
    return( Surv(eset$days_to_death, eset$vital_status=="deceased") )
  })


###################################################
### code chunk number 14: simulatorZ-vignette.Rnw:233-234
###################################################
true.mod <- getTrueModel(esets, y.list, 100)


###################################################
### code chunk number 15: simulatorZ-vignette.Rnw:236-237
###################################################
names(true.mod)


###################################################
### code chunk number 16: simulatorZ-vignette.Rnw:240-242
###################################################
simmodel <- simData(esets, 500, y.list)
new.esets <- simTime(simmodel, y.list, true.mod)


###################################################
### code chunk number 17: simulatorZ-vignette.Rnw:249-252
###################################################
true.mod <- getTrueModel(esets, y.list, 100)
sim.sets <- simData(esets, 500, y.list)
sim.sets <- simTime(sim.sets, y.list, true.mod)


###################################################
### code chunk number 18: simulatorZ-vignette.Rnw:256-257
###################################################
sim.sets <- simBootstrap(esets, y.list, 500, 100)


###################################################
### code chunk number 19: simulatorZ-vignette.Rnw:267-281
###################################################
y.vars=y.list
balance.variables=c("tumorstage", "grade")
X.list <- lapply(esets, function(eset){
  newx <- t(exprs(eset))
  return(newx)
}) 
all.X <- do.call(rbind, X.list)
cov.list <- lapply(esets, function(eset){
  return(pData(eset)[, balance.variables])
})  
all.cov <- as(data.frame(do.call(rbind, cov.list)), "AnnotatedDataFrame")
rownames(all.cov) <- colnames(t(all.X))
all.yvars <- do.call(rbind, y.vars)
whole_eset <- ExpressionSet(t(all.X), all.cov)


###################################################
### code chunk number 20: simulatorZ-vignette.Rnw:286-304
###################################################
lp.index <- c()
for(i in seq_along(esets)){
  lp.index <- c(lp.index, rep(i, length(y.vars[[i]][, 1])))
}
  
truemod <- getTrueModel(list(whole_eset), list(all.yvars), parstep=100)

simmodels <- simData(esets, 150, y.vars)
beta <- grid <- survH <- censH <- lp <- list()
for(listid in seq_along(esets)){
  beta[[listid]] <- truemod$beta[[1]]
  grid[[listid]] <- truemod$grid[[1]]
  survH[[listid]] <- truemod$survH[[1]]
  censH[[listid]] <- truemod$censH[[1]]
  lp[[listid]] <- truemod$lp[[1]][which(lp.index==listid)]
}
res <- list(beta=beta, grid=grid, survH=survH, censH=censH, lp=lp)
simmodels <- simTime(simmodels, y.vars, res)


###################################################
### code chunk number 21: simulatorZ-vignette.Rnw:323-325
###################################################
library(parathyroidSE)
data("parathyroidGenesSE")


###################################################
### code chunk number 22: simulatorZ-vignette.Rnw:331-334
###################################################
sim.sets <- simData(list(parathyroidGenesSE), 100)
names(sim.sets)
sim.sets$obj[[1]]   #The simulated RangedSummarizedExperiment


###################################################
### code chunk number 23: simulatorZ-vignette.Rnw:339-340
###################################################
table(colData(parathyroidGenesSE)$run)


###################################################
### code chunk number 24: simulatorZ-vignette.Rnw:345-346
###################################################
table(colData(sim.sets$obj[[1]])$run)


###################################################
### code chunk number 25: simulatorZ-vignette.Rnw:354-356
###################################################
z <- zmatrix(obj=esets, y.vars=y.list,
             fold=3,trainingFun=plusMinus)


###################################################
### code chunk number 26: simulatorZ-vignette.Rnw:358-359
###################################################
print(z)


###################################################
### code chunk number 27: simulatorZ-vignette.Rnw:362-378
###################################################
Z.list <- list()
CV <- CSV <- c()
for(b in 1:10){
  print(paste("iteration: ", b, sep=""))
  sim2.esets <- simBootstrap(obj=esets, n.samples=150, y.vars=y.list,
                             parstep=100, type="two-steps")
  Z.list[[b]] <- zmatrix(obj=sim2.esets$obj.list, 
                         y.vars=sim2.esets$y.vars.list, fold=4,
                         trainingFun=plusMinus)
  sum.cv <- 0
  for(i in seq_along(esets)){
    sum.cv <- sum.cv + Z.list[[b]][i, i]
  }
  CV[b] <- sum.cv / length(esets)
  CSV[b] <- (sum(Z.list[[b]]) - sum.cv) / (length(esets)*(length(esets)-1))
}


###################################################
### code chunk number 28: box
###################################################
average.Z <- Z.list[[1]]
for(i in 2:length(Z.list)){
  average.Z <- average.Z + Z.list[[i]]
}
average.Z <- average.Z / 10
print(average.Z)

resultlist <- list(CSV=CSV, CV=CV)
boxplot(resultlist, col=c("white", "grey"), ylab="C-Index", 
        boxwex = 0.25, xlim=c(0.5, 2.5))


###################################################
### code chunk number 29: simulatorZ-vignette.Rnw:396-397
###################################################
sessionInfo()

Try the simulatorZ package in your browser

Any scripts or data that you put into this service are public.

simulatorZ documentation built on Nov. 8, 2020, 5 p.m.