pcoa_by_var | R Documentation |
Overlay numeric metadata variables onto a PCoA score plot. Useful during exploratory analysis
pcoa_by_var(
ddata,
mdata,
method = "bray",
PC = c(1, 2),
CI = 0.95,
score_label = FALSE
)
ddata |
dataframe. samples in rows. sample ids in rownames. rows should match mdata |
mdata |
dataframe. samples in rows. sample ids in rownames. rows should match ddata. all variables can be numeric, characters, or factors |
method |
string. distance method. Default ('bray').
Passed to (vegan::vegdist)}
\item{PC}{numeric vector of length 2. specifies the PCs to plot.
default is |
CI |
numeric. Default 0.95. Confidence interval used to draw ellipse around categorical variable. set to NULL to omit drawing ellipse |
score_label |
string. label data ponts on score/biplot.
should be column name in mdata.
When set to |
named list of plots. First plot in list is main_pca. Subsequent plots in list correspond to metadata variables (columns in metadata)
set.seed(1)
data(dss_example)
ddata <- dss_example$merged_abundance_id[,2:26]
rownames(ddata) <- dss_example$merged_abundance_id[,1]
ddata <- as.data.frame(t(relab(ddata)))
mdata <- dss_example$metadata
mdata <- mdata[match(rownames(ddata), mdata$sampleID),]
# creating some dummy metadata variable
mdata$var1 <- rnorm(25, 0.5, 3)
mdata$var2 <- rep(LETTERS[21:25], 5)
mdata$var3 <- as.factor(rep(letters[1:5], each=5))
mdata <- mdata[,c('Phenotype','var1','var2','var3')]
p_list <- pcoa_by_var(ddata, mdata, method='bray')
# pcoa
p_list$main_pcoa
# pcoa with metadata variables overlayed. no ellipses draw when variables are numeric
p_list$Phenotype
p_list$var1
p_list$var2
p_list$var3
# can use cowplot::plot_grid to put all plots into one
cowplot::plot_grid(plotlist=list(p_list$Phenotype, p_list$var1, p_list$var2, p_list$var3))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.