Description Usage Arguments Details Value Author(s) See Also Examples
This function provides scatter plots for individuals (experimental units) representation in (sparse)(I)PCA, (regularized)CCA, (sparse)PLS(DA) and (sparse)(R)GCCA(DA).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 | plotIndiv(object, ...)
## S3 method for class 'mint.pls'
plotIndiv(
object,
comp = NULL,
study = "global",
rep.space = c("X-variate", "XY-variate", "Y-variate", "multi"),
group,
col.per.group,
style = "ggplot2",
ellipse = FALSE,
ellipse.level = 0.95,
centroid = FALSE,
star = FALSE,
title = NULL,
subtitle,
legend = FALSE,
X.label = NULL,
Y.label = NULL,
abline = FALSE,
xlim = NULL,
ylim = NULL,
col,
cex,
pch,
layout = NULL,
size.title = rel(2),
size.subtitle = rel(1.5),
size.xlabel = rel(1),
size.ylabel = rel(1),
size.axis = rel(0.8),
size.legend = rel(1),
size.legend.title = rel(1.1),
legend.title = "Legend",
legend.position = "right",
point.lwd = 1,
...
)
## S3 method for class 'mint.spls'
plotIndiv(
object,
comp = NULL,
study = "global",
rep.space = c("X-variate", "XY-variate", "Y-variate", "multi"),
group,
col.per.group,
style = "ggplot2",
ellipse = FALSE,
ellipse.level = 0.95,
centroid = FALSE,
star = FALSE,
title = NULL,
subtitle,
legend = FALSE,
X.label = NULL,
Y.label = NULL,
abline = FALSE,
xlim = NULL,
ylim = NULL,
col,
cex,
pch,
layout = NULL,
size.title = rel(2),
size.subtitle = rel(1.5),
size.xlabel = rel(1),
size.ylabel = rel(1),
size.axis = rel(0.8),
size.legend = rel(1),
size.legend.title = rel(1.1),
legend.title = "Legend",
legend.position = "right",
point.lwd = 1,
...
)
## S3 method for class 'mint.plsda'
plotIndiv(
object,
comp = NULL,
study = "global",
rep.space = c("X-variate", "XY-variate", "Y-variate", "multi"),
group,
col.per.group,
style = "ggplot2",
ellipse = FALSE,
ellipse.level = 0.95,
centroid = FALSE,
star = FALSE,
title = NULL,
subtitle,
legend = FALSE,
X.label = NULL,
Y.label = NULL,
abline = FALSE,
xlim = NULL,
ylim = NULL,
col,
cex,
pch,
layout = NULL,
size.title = rel(2),
size.subtitle = rel(1.5),
size.xlabel = rel(1),
size.ylabel = rel(1),
size.axis = rel(0.8),
size.legend = rel(1),
size.legend.title = rel(1.1),
legend.title = "Legend",
legend.position = "right",
point.lwd = 1,
...
)
## S3 method for class 'mint.splsda'
plotIndiv(
object,
comp = NULL,
study = "global",
rep.space = c("X-variate", "XY-variate", "Y-variate", "multi"),
group,
col.per.group,
style = "ggplot2",
ellipse = FALSE,
ellipse.level = 0.95,
centroid = FALSE,
star = FALSE,
title = NULL,
subtitle,
legend = FALSE,
X.label = NULL,
Y.label = NULL,
abline = FALSE,
xlim = NULL,
ylim = NULL,
col,
cex,
pch,
layout = NULL,
size.title = rel(2),
size.subtitle = rel(1.5),
size.xlabel = rel(1),
size.ylabel = rel(1),
size.axis = rel(0.8),
size.legend = rel(1),
size.legend.title = rel(1.1),
legend.title = "Legend",
legend.position = "right",
point.lwd = 1,
...
)
## S3 method for class 'pca'
plotIndiv(
object,
comp = NULL,
ind.names = TRUE,
group,
col.per.group,
style = "ggplot2",
ellipse = FALSE,
ellipse.level = 0.95,
centroid = FALSE,
star = FALSE,
title = NULL,
legend = FALSE,
X.label = NULL,
Y.label = NULL,
Z.label = NULL,
abline = FALSE,
xlim = NULL,
ylim = NULL,
col,
cex,
pch,
pch.levels,
alpha = 0.2,
axes.box = "box",
layout = NULL,
size.title = rel(2),
size.subtitle = rel(1.5),
size.xlabel = rel(1),
size.ylabel = rel(1),
size.axis = rel(0.8),
size.legend = rel(1),
size.legend.title = rel(1.1),
legend.title = "Legend",
legend.title.pch = "Legend",
legend.position = "right",
point.lwd = 1,
...
)
## S3 method for class 'mixo_pls'
plotIndiv(
object,
comp = NULL,
rep.space = NULL,
ind.names = TRUE,
group,
col.per.group,
style = "ggplot2",
ellipse = FALSE,
ellipse.level = 0.95,
centroid = FALSE,
star = FALSE,
title = NULL,
subtitle,
legend = FALSE,
X.label = NULL,
Y.label = NULL,
Z.label = NULL,
abline = FALSE,
xlim = NULL,
ylim = NULL,
col,
cex,
pch,
pch.levels,
alpha = 0.2,
axes.box = "box",
layout = NULL,
size.title = rel(2),
size.subtitle = rel(1.5),
size.xlabel = rel(1),
size.ylabel = rel(1),
size.axis = rel(0.8),
size.legend = rel(1),
size.legend.title = rel(1.1),
legend.title = "Legend",
legend.title.pch = "Legend",
legend.position = "right",
point.lwd = 1,
background = NULL,
...
)
## S3 method for class 'sgcca'
plotIndiv(
object,
comp = NULL,
blocks = NULL,
ind.names = TRUE,
group,
col.per.group,
style = "ggplot2",
ellipse = FALSE,
ellipse.level = 0.95,
centroid = FALSE,
star = FALSE,
title = NULL,
subtitle,
legend = FALSE,
X.label = NULL,
Y.label = NULL,
Z.label = NULL,
abline = FALSE,
xlim = NULL,
ylim = NULL,
col,
cex,
pch,
pch.levels,
alpha = 0.2,
axes.box = "box",
layout = NULL,
size.title = rel(2),
size.subtitle = rel(1.5),
size.xlabel = rel(1),
size.ylabel = rel(1),
size.axis = rel(0.8),
size.legend = rel(1),
size.legend.title = rel(1.1),
legend.title = "Legend",
legend.title.pch = "Legend",
legend.position = "right",
point.lwd = 1,
...
)
## S3 method for class 'rgcca'
plotIndiv(
object,
comp = NULL,
blocks = NULL,
ind.names = TRUE,
group,
col.per.group,
style = "ggplot2",
ellipse = FALSE,
ellipse.level = 0.95,
centroid = FALSE,
star = FALSE,
title = NULL,
subtitle,
legend = FALSE,
X.label = NULL,
Y.label = NULL,
Z.label = NULL,
abline = FALSE,
xlim = NULL,
ylim = NULL,
col,
cex,
pch,
pch.levels,
alpha = 0.2,
axes.box = "box",
layout = NULL,
size.title = rel(2),
size.subtitle = rel(1.5),
size.xlabel = rel(1),
size.ylabel = rel(1),
size.axis = rel(0.8),
size.legend = rel(1),
size.legend.title = rel(1.1),
legend.title = "Legend",
legend.title.pch = "Legend",
legend.position = "right",
point.lwd = 1,
...
)
|
object |
object of class inherited from any mixOmics: |
... |
Optional arguments or type par can be added with |
comp |
integer vector of length two (or three to 3d). The components that will be used on the horizontal and the vertical axis respectively to project the individuals. |
study |
Indicates which study-specific outputs to plot. A character
vector containing some levels of |
rep.space |
For objects of class |
group |
factor indicating the group membership for each sample, useful
for ellipse plots. Coded as default for the supervised methods |
col.per.group |
character (or symbol) color to be used when 'group' is defined. Vector of the same length as the number of groups. |
style |
argument to be set to either |
ellipse |
Logical indicating if ellipse plots should be plotted. In the
non supervised objects |
ellipse.level |
Numerical value indicating the confidence level of
ellipse being plotted when |
centroid |
Logical indicating whether centroid points should be
plotted. In the non supervised objects |
star |
Logical indicating whether a star plot should be plotted, with
arrows starting from the centroid (see argument |
title |
set of characters indicating the title plot. |
subtitle |
subtitle for each plot, only used when several |
legend |
Logical. Whether the legend should be added. Default is FALSE. |
X.label |
x axis titles. |
Y.label |
y axis titles. |
abline |
should the vertical and horizontal line through the center be
plotted? Default set to |
xlim, ylim |
numeric list of vectors of length 2 and length =length(blocks), giving the x and y coordinates ranges. |
col |
character (or symbol) color to be used, possibly vector. |
cex |
numeric character (or symbol) expansion, possibly vector. |
pch |
plot character. A character string or a vector of single
characters or integers. See |
layout |
layout parameter passed to mfrow. Only used when |
size.title |
size of the title |
size.subtitle |
size of the subtitle |
size.xlabel |
size of xlabel |
size.ylabel |
size of ylabel |
size.axis |
size of the axis |
size.legend |
size of the legend |
size.legend.title |
size of the legend title |
legend.title |
title of the legend |
legend.position |
position of the legend, one of "bottom", "left", "top" and "right". |
point.lwd |
|
ind.names |
either a character vector of names for the individuals to
be plotted, or |
Z.label |
z axis titles (when style = '3d'). |
pch.levels |
Only used when |
alpha |
Semi-transparent colors (0 < |
axes.box |
for style '3d', argument to be set to either |
legend.title.pch |
title of the second legend created by |
background |
color the background by the predicted class, see
|
blocks |
integer value or name(s) of block(s) to be plotted using the GCCA module. "average" and "weighted.average" will create average and weighted average plots, respectively. See details and examples. |
plotIndiv
method makes scatter plot for individuals representation
depending on the subspace of projection. Each point corresponds to an
individual.
If ind.names=TRUE
and row names is NULL
, then
ind.names=1:n
, where n
is the number of individuals. Also, if
pch
is an input, then ind.names
is set to FALSE as we do not
show both names and shapes.
plotIndiv
can have a two layers legend. This is especially convenient
when you have two grouping factors, such as a gender effect and a study
effect, and you want to highlight both simulatenously on the graphical
output. A first layer is coded by the group
factor, the second by the
pch
argument. When pch
is missing, a single layer legend is
shown. If the group
factor is missing, the col
argument is
used to create the grouping factor group
. When a second grouping
factor is needed and added via pch
, pch
needs to be a vector
of length the number of samples. In the case where pch
is a vector or
length the number of groups, then we consider that the user wants a
different pch
for each level of group
. This leads to a single
layer legend and we merge col
and pch
. In the similar case
where pch
is a single value, then this value is used to represent all
samples. See examples below for object of class plsda and splsda.
In the specific case of a single 'omics supervised model
(plsda
, splsda
), users can overlay prediction
results to sample plots in order to visualise the prediction areas of each
class, via the background
input parameter. Note that this
functionality is only available for models with less than 2 components as
the surfaces obtained for higher order components cannot be projected onto a
2D representation in a meaningful way. For more details, see
background.predict
The argument block = 'average'
averages the components from all blocks
to produce a consensus plot. The argument block='weighted.average'
is
a weighted average of the components according to their correlation with the
outcome Y.
For customized plots (i.e. adding points, text), use the style = 'graphics' (default is ggplot2).
Note: the ellipse options were borrowed from the ellipse.
none
Ignacio González, Benoit Gautier, Francois Bartolo, Florian Rohart, Kim-Anh Lê Cao, Al J Abadi
text
, background.predict
,
points
and http://mixOmics.org/graphics for more details.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 | ## plot of individuals for objects of class 'rcc'
# ----------------------------------------------------
data(nutrimouse)
X <- nutrimouse$lipid
Y <- nutrimouse$gene
nutri.res <- rcc(X, Y, ncomp = 3, lambda1 = 0.064, lambda2 = 0.008)
# default, panel plot for X and Y subspaces
plotIndiv(nutri.res)
## Not run:
# ellipse with respect to genotype in the XY space,
# names also indicate genotype
plotIndiv(nutri.res, rep.space= 'XY-variate',
ellipse = TRUE, ellipse.level = 0.9,
group = nutrimouse$genotype, ind.names = nutrimouse$genotype)
# ellipse with respect to genotype in the XY space, with legend
plotIndiv(nutri.res, rep.space= 'XY-variate', group = nutrimouse$genotype,
legend = TRUE)
# lattice style
plotIndiv(nutri.res, rep.space= 'XY-variate', group = nutrimouse$genotype,
legend = TRUE, style = 'lattice')
# classic style, in the Y space
plotIndiv(nutri.res, rep.space= 'Y-variate', group = nutrimouse$genotype,
legend = TRUE, style = 'graphics')
## plot of individuals for objects of class 'pls' or 'spls'
# ----------------------------------------------------
data(liver.toxicity)
X <- liver.toxicity$gene
Y <- liver.toxicity$clinic
toxicity.spls <- spls(X, Y, ncomp = 3, keepX = c(50, 50, 50),
keepY = c(10, 10, 10))
#default
plotIndiv(toxicity.spls)
# two layers legend: a first grouping with Time.Group and 'group'
# and a second with Dose.Group and 'pch'
plotIndiv(toxicity.spls, rep.space="X-variate", ind.name = FALSE,
group = liver.toxicity$treatment[, 'Time.Group'], # first factor
pch = as.numeric(factor(liver.toxicity$treatment$Dose.Group)), #second factor
pch.levels =liver.toxicity$treatment$Dose.Group,
legend = TRUE)
# indicating the centroid
plotIndiv(toxicity.spls, rep.space= 'X-variate', ind.names = FALSE,
group = liver.toxicity$treatment[, 'Time.Group'], centroid = TRUE)
# indicating the star and centroid
plotIndiv(toxicity.spls, rep.space= 'X-variate', ind.names = FALSE,
group = liver.toxicity$treatment[, 'Time.Group'], centroid = TRUE, star = TRUE)
# indicating the star and ellipse
plotIndiv(toxicity.spls, rep.space= 'X-variate', ind.names = FALSE,
group = liver.toxicity$treatment[, 'Time.Group'], centroid = TRUE,
star = TRUE, ellipse = TRUE)
# in the Y space, colors indicate time of necropsy, text is the dose
plotIndiv(toxicity.spls, rep.space= 'Y-variate',
group = liver.toxicity$treatment[, 'Time.Group'],
ind.names = liver.toxicity$treatment[, 'Dose.Group'],
legend = TRUE)
## plot of individuals for objects of class 'plsda' or 'splsda'
# ----------------------------------------------------
data(breast.tumors)
X <- breast.tumors$gene.exp
Y <- breast.tumors$sample$treatment
splsda.breast <- splsda(X, Y,keepX=c(10,10),ncomp=2)
# default option: note the outcome color is included by default!
plotIndiv(splsda.breast)
# also check ?background.predict for to visualise the prediction
# area with a plsda or splsda object!
# default option with no ind name: pch and color are set automatically
plotIndiv(splsda.breast, ind.names = FALSE, comp = c(1, 2))
# default option with no ind name: pch and color are set automatically,
# with legend
plotIndiv(splsda.breast, ind.names = FALSE, comp = c(1, 2), legend = TRUE)
# trying the different styles
plotIndiv(splsda.breast, ind.names = TRUE, comp = c(1, 2),
ellipse = TRUE, style = "ggplot2", cex = c(1, 1))
plotIndiv(splsda.breast, ind.names = TRUE, comp = c(1, 2),
ellipse = TRUE, style = "lattice", cex = c(1, 1))
# changing pch of the two groups
plotIndiv(splsda.breast, ind.names = FALSE, comp = c(1, 2),
pch = c(15,16), legend = TRUE)
# creating a second grouping factor with a pch of length 3,
# which is recycled to obtain a vector of length n
plotIndiv(splsda.breast, ind.names = FALSE, comp = c(1, 2),
pch = c(15,16,17), legend = TRUE)
#same thing as
pch.indiv = c(rep(15:17,15), 15, 16) # length n
plotIndiv(splsda.breast, ind.names = FALSE, comp = c(1, 2),
pch = pch.indiv, legend = TRUE)
# change the names of the second legend with pch.levels
plotIndiv(splsda.breast, ind.names = FALSE, comp = c(1, 2),
pch = 15:17, pch.levels = c("a","b","c"),legend = TRUE)
## plot of individuals for objects of class 'mint.plsda' or 'mint.splsda'
# ----------------------------------------------------
data(stemcells)
res = mint.splsda(X = stemcells$gene, Y = stemcells$celltype, ncomp = 2,
keepX = c(10, 5), study = stemcells$study)
plotIndiv(res)
#plot study-specific outputs for all studies
plotIndiv(res, study = "all.partial")
#plot study-specific outputs for study "2"
plotIndiv(res, study = "2")
## variable representation for objects of class 'sgcca' (or 'rgcca')
# ----------------------------------------------------
data(nutrimouse)
Y = unmap(nutrimouse$diet)
data = list(gene = nutrimouse$gene, lipid = nutrimouse$lipid, Y = Y)
design1 = matrix(c(0,1,1,1,0,1,1,1,0), ncol = 3, nrow = 3, byrow = TRUE)
nutrimouse.sgcca <- wrapper.sgcca(X = data,
design = design1,
penalty = c(0.3, 0.5, 1),
ncomp = 3,
scheme = "horst")
# default style: one panel for each block
plotIndiv(nutrimouse.sgcca)
# for the block 'lipid' with ellipse plots and legend, different styles
plotIndiv(nutrimouse.sgcca, group = nutrimouse$diet, legend =TRUE,
ellipse = TRUE, ellipse.level = 0.5, blocks = "lipid", title = 'my plot')
plotIndiv(nutrimouse.sgcca, style = "lattice", group = nutrimouse$diet,
legend = TRUE, ellipse = TRUE, ellipse.level = 0.5, blocks = "lipid",
title = 'my plot')
plotIndiv(nutrimouse.sgcca, style = "graphics", group = nutrimouse$diet,
legend = TRUE, ellipse = TRUE, ellipse.level = 0.5, blocks = "lipid",
title = 'my plot')
## variable representation for objects of class 'sgccda'
# ----------------------------------------------------
# Note: the code differs from above as we use a 'supervised' GCCA analysis
data(nutrimouse)
Y = nutrimouse$diet
data = list(gene = nutrimouse$gene, lipid = nutrimouse$lipid)
design1 = matrix(c(0,1,0,1), ncol = 2, nrow = 2, byrow = TRUE)
nutrimouse.sgccda1 <- wrapper.sgccda(X = data,
Y = Y,
design = design1,
ncomp = 2,
keepX = list(gene = c(10,10), lipid = c(15,15)),
scheme = "centroid")
# plotIndiv
# ----------
# displaying all blocks. bu default colors correspond to outcome Y
plotIndiv(nutrimouse.sgccda1)
# displaying only 2 blocks
plotIndiv(nutrimouse.sgccda1, blocks = c(1,2), group = nutrimouse$diet)
# include the average plot (average the components across datasets)
plotIndiv(nutrimouse.sgccda1, blocks = "average", group = nutrimouse$diet)
# include the weighted average plot (average of components weighted by
# correlation of each dataset with Y)
plotIndiv(
nutrimouse.sgccda1,
blocks = c("average", "weighted.average"),
group = nutrimouse$diet
)
# with some ellipse, legend and title
plotIndiv(nutrimouse.sgccda1, blocks = c(1,2), group = nutrimouse$diet,
ellipse = TRUE, legend = TRUE, title = 'my sample plot')
## End(Not run)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.