screeplot | R Documentation |
Draw a SCREE plot, showing the distribution of explained variance across all or select principal components / eigenvectors.
screeplot(
pcaobj,
components = getComponents(pcaobj),
xlim = NULL,
ylim = c(0, 100),
xlab = "Principal component",
xlabAngle = 90,
xlabhjust = 0.5,
xlabvjust = 0.5,
ylab = "Explained variation (%)",
ylabAngle = 0,
ylabhjust = 0.5,
ylabvjust = 0.5,
axisLabSize = 16,
title = "SCREE plot",
subtitle = "",
caption = "",
titleLabSize = 16,
subtitleLabSize = 12,
captionLabSize = 12,
colBar = "dodgerblue",
drawCumulativeSumLine = TRUE,
colCumulativeSumLine = "red2",
sizeCumulativeSumLine = 1.5,
drawCumulativeSumPoints = TRUE,
colCumulativeSumPoints = "red2",
sizeCumulativeSumPoints = 2,
hline = NULL,
hlineType = "longdash",
hlineCol = "black",
hlineWidth = 0.4,
vline = NULL,
vlineType = "longdash",
vlineCol = "black",
vlineWidth = 0.4,
gridlines.major = TRUE,
gridlines.minor = TRUE,
borderWidth = 0.8,
borderColour = "black",
returnPlot = TRUE
)
pcaobj |
Object of class 'pca' created by pca(). |
components |
The principal components to be included in the plot. |
xlim |
Limits of the x-axis. |
ylim |
Limits of the y-axis. |
xlab |
Label for x-axis. |
xlabAngle |
Rotation angle of x-axis labels. |
xlabhjust |
Horizontal adjustment of x-axis labels. |
xlabvjust |
Vertical adjustment of x-axis labels. |
ylab |
Label for y-axis. |
ylabAngle |
Rotation angle of y-axis labels. |
ylabhjust |
Horizontal adjustment of y-axis labels. |
ylabvjust |
Vertical adjustment of y-axis labels. |
axisLabSize |
Size of x- and y-axis labels. |
title |
Plot title. |
subtitle |
Plot subtitle. |
caption |
Plot caption. |
titleLabSize |
Size of plot title. |
subtitleLabSize |
Size of plot subtitle. |
captionLabSize |
Size of plot caption. |
colBar |
Colour of the vertical bars. |
drawCumulativeSumLine |
Logical, indicating whether or not to overlay plot with a cumulative explained variance line. |
colCumulativeSumLine |
Colour of cumulative explained variance line. |
sizeCumulativeSumLine |
Size of cumulative explained variance line. |
drawCumulativeSumPoints |
Logical, indicating whether or not to draw the cumulative explained variance points. |
colCumulativeSumPoints |
Colour of cumulative explained variance points. |
sizeCumulativeSumPoints |
Size of cumulative explained variance points. |
hline |
Draw one or more horizontal lines passing through this/these values on y-axis. For single values, only a single numerical value is necessary. For multiple lines, pass these as a vector, e.g., c(60,90). |
hlineType |
Line type for hline ('blank', 'solid', 'dashed', 'dotted', 'dotdash', 'longdash', 'twodash'). |
hlineCol |
Colour of hline. |
hlineWidth |
Width of hline. |
vline |
Draw one or more vertical lines passing through this/these values on x-axis. For single values, only a single numerical value is necessary. For multiple lines, pass these as a vector, e.g., c(60,90). |
vlineType |
Line type for vline ('blank', 'solid', 'dashed', 'dotted', 'dotdash', 'longdash', 'twodash'). |
vlineCol |
Colour of vline. |
vlineWidth |
Width of vline. |
gridlines.major |
Logical, indicating whether or not to draw major gridlines. |
gridlines.minor |
Logical, indicating whether or not to draw minor gridlines. |
borderWidth |
Width of the border on the x and y axes. |
borderColour |
Colour of the border on the x and y axes. |
returnPlot |
Logical, indicating whether or not to return the plot object. |
Draw a SCREE plot, showing the distribution of explained variance across all or select principal components / eigenvectors.
A ggplot2
object.
Kevin Blighe <kevin@clinicalbioinformatics.co.uk>
options(scipen=10)
options(digits=6)
col <- 20
row <- 20000
mat1 <- matrix(
rexp(col*row, rate = 0.1),
ncol = col)
rownames(mat1) <- paste0('gene', 1:nrow(mat1))
colnames(mat1) <- paste0('sample', 1:ncol(mat1))
mat2 <- matrix(
rexp(col*row, rate = 0.1),
ncol = col)
rownames(mat2) <- paste0('gene', 1:nrow(mat2))
colnames(mat2) <- paste0('sample', (ncol(mat1)+1):(ncol(mat1)+ncol(mat2)))
mat <- cbind(mat1, mat2)
metadata <- data.frame(row.names = colnames(mat))
metadata$Group <- rep(NA, ncol(mat))
metadata$Group[seq(1,40,2)] <- 'A'
metadata$Group[seq(2,40,2)] <- 'B'
metadata$CRP <- sample.int(100, size=ncol(mat), replace=TRUE)
metadata$ESR <- sample.int(100, size=ncol(mat), replace=TRUE)
p <- pca(mat, metadata = metadata, removeVar = 0.1)
screeplot(p)
screeplot(p, hline = 80)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.