# NOT RUN {
## default method: shows cross correlation between 2 data sets
#------------------------------------------------------------------
data(nutrimouse)
X <- nutrimouse$lipid
Y <- nutrimouse$gene
  
cim(cor(X, Y), cluster = "none")
  
  
## CIM representation for objects of class 'rcc'
#------------------------------------------------------------------
# }
# NOT RUN {
nutri.rcc <- rcc(X, Y, ncomp = 3, lambda1 = 0.064, lambda2 = 0.008)
cim(nutri.rcc, xlab = "genes", ylab = "lipids", margins = c(5, 6))
# }
# NOT RUN {
#-- interactive 'zoom' available as below
# }
# NOT RUN {
    cim(nutri.rcc, xlab = "genes", ylab = "lipids", margins = c(5, 6),
        zoom = TRUE)
    #-- select the region and "see" the zoom-out region
    #-- cim from X matrix with a side bar to indicate the diet
    diet.col <- palette()[as.numeric(nutrimouse$diet)]
    cim(nutri.rcc, mapping = "X", row.names = nutrimouse$diet,
        row.sideColors = diet.col, xlab = "lipids",
        clust.method = c("ward", "ward"), margins = c(6, 4))
    #-- cim from Y matrix with a side bar to indicate the genotype
    geno.col = color.mixo(as.numeric(nutrimouse$genotype))
    cim(nutri.rcc, mapping = "Y", row.names = nutrimouse$genotype,
        row.sideColors = geno.col, xlab = "genes",
        clust.method = c("ward", "ward"))
    #-- save the result as a jpeg file
    jpeg(filename = "test.jpeg", res = 600, width = 4000, height = 4000)
    cim(nutri.rcc, xlab = "genes", ylab = "lipids", margins = c(5, 6))
    dev.off()
# }
# NOT RUN {
## CIM representation for objects of class 'spca' (also works for sipca)
#------------------------------------------------------------------
# }
# NOT RUN {
data(liver.toxicity)
X <- liver.toxicity$gene
liver.spca <- spca(X, ncomp = 2, keepX = c(30, 30), scale = FALSE)
dose.col <- color.mixo(as.numeric(as.factor(liver.toxicity$treatment[, 3])))
# side bar, no variable names shown
cim(liver.spca, row.sideColors = dose.col, col.names = FALSE,
    row.names = liver.toxicity$treatment[, 3],
    clust.method = c("ward", "ward"))
# }
# NOT RUN {
## CIM representation for objects of class '(s)pls' 
#------------------------------------------------------------------
# }
# NOT RUN {
data(liver.toxicity)
X <- liver.toxicity$gene
Y <- liver.toxicity$clinic
liver.spls <- spls(X, Y, ncomp = 3,
                      keepX = c(20, 50, 50), keepY = c(10, 10, 10))
# default
cim(liver.spls)
    # transpose matrix, choose clustering method
    cim(liver.spls, transpose = TRUE,   
        clust.method = c("ward", "ward"), margins = c(5, 7))
    # Here we visualise only the X variables selected 
    cim(liver.spls, mapping="X")
    # Here we should visualise only the Y variables selected
    cim(liver.spls, mapping="Y") 
    # Here we only visualise the similarity matrix between the variables by spls  
    cim(liver.spls, cluster="none")
    # plotting two data sets with the similarity matrix as input in the funciton 
    # (see our BioData Mining paper for more details)
    # Only the variables selected by the sPLS model in X and Y are represented
    cim(liver.spls, mapping="XY")
    # on the X matrix only, side col var to indicate dose
    dose.col <- color.mixo(as.numeric(as.factor(liver.toxicity$treatment[, 3])))
    cim(liver.spls, mapping = "X", row.sideColors = dose.col, 
        row.names = liver.toxicity$treatment[, 3])
    # CIM default representation includes the total of 120 genes selected, with the dose color
    # with a sparse method, show only the variables selected on specific components
    cim(liver.spls, comp = 1)
    cim(liver.spls, comp = 2)
    cim(liver.spls, comp = c(1,2))
    cim(liver.spls, comp = c(1,3))
# }
# NOT RUN {
## CIM representation for objects of class '(s)plsda' 
#------------------------------------------------------------------
# }
# NOT RUN {
data(liver.toxicity)
X <- liver.toxicity$gene
# Setting up the Y outcome first
Y <- liver.toxicity$treatment[, 3]
#set up colors for cim
dose.col <- color.mixo(as.numeric(as.factor(liver.toxicity$treatment[, 3])))
liver.splsda <- splsda(X, Y, ncomp = 2, keepX = c(40, 30))
cim(liver.splsda, row.sideColors = dose.col, row.names = Y)
# }
# NOT RUN {
## CIM representation for objects of class splsda 'multilevel' 
# with a two level factor (repeated sample and time)
#------------------------------------------------------------------
data(vac18.simulated)
X <- vac18.simulated$genes
design <- data.frame(samp = vac18.simulated$sample)
Y = data.frame(time = vac18.simulated$time,
               stim = vac18.simulated$stimulation)
res.2level <- splsda(X, Y = Y, ncomp = 2, multilevel = design,
                        keepX = c(120, 10))
#define colors for the levels: stimulation and time
stim.col <- c("darkblue", "purple", "green4","red3")
stim.col <- stim.col[as.numeric(Y$stim)]
time.col <- c("orange", "cyan")[as.numeric(Y$time)]
# The row side bar indicates the two levels of the facteor, stimulation and time.
# the sample names have been motified on the plot.
cim(res.2level, row.sideColors = cbind(stim.col, time.col), 
    row.names = paste(Y$time, Y$stim, sep = "_"),
    col.names = FALSE,
  #setting up legend:
    legend=list(legend = c(levels(Y$time), levels(Y$stim)),
                col = c("orange", "cyan", "darkblue", "purple", "green4","red3"), 
                title = "Condition", cex = 0.7)
)
## CIM representation for objects of class spls 'multilevel' 
#------------------------------------------------------------------
data(liver.toxicity)
repeat.indiv <- c(1, 2, 1, 2, 1, 2, 1, 2, 3, 3, 4, 3, 4, 3, 4, 4, 5, 6, 5, 5,
                  6, 5, 6, 7, 7, 8, 6, 7, 8, 7, 8, 8, 9, 10, 9, 10, 11, 9, 9,
                  10, 11, 12, 12, 10, 11, 12, 11, 12, 13, 14, 13, 14, 13, 14,
                  13, 14, 15, 16, 15, 16, 15, 16, 15, 16)
# sPLS is a non supervised technique, and so we only indicate the sample repetitions 
# in the design (1 factor only here, sample)
# sPLS takes as an input 2 data sets, and the variables selected
design <- data.frame(sample = repeat.indiv) 
res.spls.1level <- spls(X = liver.toxicity$gene,
                              Y=liver.toxicity$clinic,
                              multilevel = design,
                              ncomp = 2,
                              keepX = c(50, 50), keepY = c(5, 5),
                              mode = 'canonical')
stim.col <- c("darkblue", "purple", "green4","red3")
# showing only the Y variables, and only those selected in comp 1 
cim(res.spls.1level, mapping="Y",
    row.sideColors = stim.col[factor(liver.toxicity$treatment[,3])], comp = 1,
    #setting up legend:
    legend=list(legend = unique(liver.toxicity$treatment[,3]), col=stim.col, 
    title = "Dose", cex=0.9))
# }
# NOT RUN {
    # showing only the X variables, for all selected on comp 1 and 2 
    cim(res.spls.1level, mapping="X",
        row.sideColors = stim.col[factor(liver.toxicity$treatment[,3])], 
        #setting up legend:
        legend=list(legend = unique(liver.toxicity$treatment[,3]), col=stim.col, 
        title = "Dose", cex=0.9))
    # These are the cross correlations between the variables selected in X and Y.
    # The similarity matrix is obtained as in our paper in Data Mining
    cim(res.spls.1level, mapping="XY")
# }
Run the code above in your browser using DataLab