## ----global_options, include=FALSE-----------------------------------------
knitr::opts_chunk$set(fig.width=6, fig.height=6, fig.path='figures/')
## ----load------------------------------------------------------------------
library(ropls)
## ----sacurine--------------------------------------------------------------
data(sacurine)
names(sacurine)
## ----attach_code, message = FALSE------------------------------------------
attach(sacurine)
## ----strF------------------------------------------------------------------
strF(dataMatrix)
strF(sampleMetadata)
strF(variableMetadata)
## ----pca_code, eval = FALSE------------------------------------------------
# sacurine.pca <- opls(dataMatrix)
## ----pca_result, echo = FALSE----------------------------------------------
sacurine.pca <- opls(dataMatrix, plotL = FALSE)
## ----pca_figure, echo = FALSE, fig.show = 'hold'---------------------------
layout(matrix(1:4, nrow = 2, byrow = TRUE))
for(typeC in c("overview", "outlier", "x-score", "x-loading"))
plot(sacurine.pca, typeVc = typeC, parDevNewL = FALSE)
## ----pca-col, eval = FALSE-------------------------------------------------
# genderFc <- sampleMetadata[, "gender"]
# plot(sacurine.pca, typeVc = "x-score",
# parAsColFcVn = genderFc, parEllipsesL = TRUE)
## ----pca-col_figure, echo = FALSE------------------------------------------
genderFc <- sampleMetadata[, "gender"]
plot(sacurine.pca, typeVc = "x-score",
parAsColFcVn = genderFc, parEllipsesL = TRUE, parDevNewL = FALSE)
## ----plsda, eval = FALSE---------------------------------------------------
# sacurine.plsda <- opls(dataMatrix, genderFc)
## ----plsda_figure, echo = FALSE--------------------------------------------
sacurine.plsda <- opls(dataMatrix, genderFc, plotL = FALSE)
layout(matrix(1:4, nrow = 2, byrow = TRUE))
for(typeC in c("permutation", "overview", "outlier", "x-score"))
plot(sacurine.plsda, typeVc = typeC, parDevNewL = FALSE)
## ----oplsda, eval = FALSE--------------------------------------------------
# sacurine.oplsda <- opls(dataMatrix, genderFc,
# predI = 1, orthoI = NA)
## ----oplsda_figure, echo = FALSE-------------------------------------------
sacurine.oplsda <- opls(dataMatrix, genderFc,
predI = 1, orthoI = NA, plotL = FALSE)
layout(matrix(1:4, nrow = 2, byrow = TRUE))
for(typeC in c("permutation", "overview", "outlier", "x-score"))
plot(sacurine.oplsda, typeVc = typeC, parDevNewL = FALSE)
## ----oplsda_subset, eval = FALSE-------------------------------------------
# sacurine.oplsda <- opls(dataMatrix, genderFc, predI = 1, orthoI = NA,
# subset = "odd")
## ----oplsda_subset_code, echo = FALSE--------------------------------------
sacurine.oplsda <- opls(dataMatrix, genderFc, predI = 1, orthoI = NA, permI = 0,
subset = "odd", plotL = FALSE)
## ----train-----------------------------------------------------------------
trainVi <- getSubsetVi(sacurine.oplsda)
table(genderFc[trainVi], fitted(sacurine.oplsda))
## ----test------------------------------------------------------------------
table(genderFc[-trainVi],
predict(sacurine.oplsda, dataMatrix[-trainVi, ]))
## ----overfit, echo = FALSE-------------------------------------------------
set.seed(123)
obsI <- 20
featVi <- c(2, 20, 200)
featMaxI <- max(featVi)
xRandMN <- matrix(runif(obsI * featMaxI), nrow = obsI)
yRandVn <- sample(c(rep(0, obsI / 2), rep(1, obsI / 2)))
layout(matrix(1:4, nrow = 2, byrow = TRUE))
for(featI in featVi) {
randPlsi <- opls(xRandMN[, 1:featI], yRandVn,
predI = 2,
permI = ifelse(featI == featMaxI, 100, 0),
printL = FALSE, plotL = FALSE)
plot(randPlsi, typeVc = "x-score", parDevNewL = FALSE,
parCexN = 1.3, parTitleL = FALSE)
mtext(featI/obsI, font = 2, line = 2)
if(featI == featMaxI)
plot(randPlsi, typeVc = "permutation", parDevNewL = FALSE,
parCexN = 1.3)
}
mtext(" obs./feat. ratio:", adj = 0, at = 0, font = 2, line = -2, outer = TRUE)
## ----vip, echo = FALSE-----------------------------------------------------
ageVn <- sampleMetadata[, "age"]
pvaVn <- apply(dataMatrix, 2,
function(feaVn) cor.test(ageVn, feaVn)[["p.value"]])
vipVn <- getVipVn(opls(dataMatrix, ageVn, predI = 1, orthoI = NA, plot = FALSE))
quantVn <- qnorm(1 - pvaVn / 2)
rmsQuantN <- sqrt(mean(quantVn^2))
par(font = 2, font.axis = 2, font.lab = 2, las = 1,
mar = c(5.1, 4.6, 4.1, 2.1),
lwd = 2, pch = 16)
plot(pvaVn, vipVn,
col = "red",
pch = 16,
xlab = "p-value", ylab = "VIP", xaxs = "i", yaxs = "i")
box(lwd = 2)
curve(qnorm(1 - x / 2) / rmsQuantN, 0, 1, add = TRUE, col = "red", lwd = 3)
abline(h = 1, col = "blue")
abline(v = 0.05, col = "blue")
## ----expressionset_code, eval = FALSE--------------------------------------
# library(Biobase)
# sacSet <- ExpressionSet(assayData = t(dataMatrix),
# phenoData = new("AnnotatedDataFrame", data = sampleMetadata))
# opls(sacSet, "gender", orthoI = NA)
## ----expressionset_figure, echo = FALSE, message = FALSE, warning = FALSE----
library(Biobase)
sacSet <- ExpressionSet(assayData = t(dataMatrix),
phenoData = new("AnnotatedDataFrame", data = sampleMetadata))
eset.oplsda <- opls(sacSet, "gender", orthoI = NA, plotL = FALSE)
layout(matrix(1:4, nrow = 2, byrow = TRUE))
for(typeC in c("overview", "outlier", "x-score", "x-loading"))
plot(eset.oplsda, typeVc = typeC, parDevNewL = FALSE)
## ----fromW4M---------------------------------------------------------------
sacSet <- fromW4M(file.path(path.package("ropls"), "extdata"))
sacSet
## ----toW4M, eval = FALSE---------------------------------------------------
# toW4M(sacSet, paste0(getwd(), "/out_"))
## ----detach----------------------------------------------------------------
detach(sacurine)
## ----sessionInfo, echo=FALSE-----------------------------------------------
sessionInfo()
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.