Hello ggplo2 community,
I used the function gm.prcomp (from geomorph) to perform a PCA and after that I tried to do it using ggplot, but there are some issues going on...
I use aes with X as my PC1 or "Comp1"; Y as PC2 or in this case, "Comp2". The problem is: I keep getting those weird numbers on my plot. Do you have any idea of what might be causing this?
It seems like a minor issue, yet I can't figure it out.
Here's my code:
# PCA
pca <- gm.prcomp(lm_data_pa$coords)
plot(pca)
summary(pca)
pca$x
# Classifiers
classifiers <- read.csv("data/species_data.csv",
header = TRUE,
row.names = 1)
gen_clas <- classifiers$Genus
spe_clas <- classifiers$Species
class <- geomorph.data.frame(lm_data_pa, Genus = gen_clas,
Species = spe_clas)
# PCA with ggplot2
label <- list(expression(italic("A. latifrons")), expression(italic("E. benoisti")),
expression(italic("E. cyaneicincta")), expression(italic("E. quadrilineata")),
expression(italic("E. randa")),
expression(italic("H. carvalhoi")), expression(italic("H. cordillera")),
expression(italic("H. currani")), expression(italic("H. obscura")),
expression(italic("H. pictipennis")), expression(italic("H. townsendi")),
expression(italic("H. vogelsangi")), expression(italic("L. nigripes")),
expression(italic("L. perisi")), expression(italic("M. apollinaris")),
expression(italic("M. batesi")), expression(italic("M. bellardiana")),
expression(italic("M. bicolor")), expression(italic("M. peregrina")),
expression(italic("M. semihyalina")), expression(italic("S. facialis")))
gg <- cbind(pca$x, spe_clas)
gg2 <- data.frame(gg)
gg2$spe_clas <- as.factor(gg2$spe_clas)
pca_ggplot <- ggplot() +
geom_point(data = gg2,
aes(x = Comp1,
y = Comp2,
colour = spe_clas),
size = 3) +
scale_color_manual(name = "Species",
values = c("#FF0000FF", "#FF9900FF", "#CCFF00FF",
"#8a4b56", "#00FF66FF", "#00FFFFFF",
"#0066FFFF", "#3300FFFF", "#CC00FFFF",
"#FF0099FF", "#00134d", "#009999",
"#1a1aff", "#ff471a", "#ccffcc",
"#73264d", "#ff9900", "#666699",
"#00ff00", "#4c4c34", "#bf8040",
"#ff9999"),
labels = label) +
theme(axis.text = element_text(size = 12),
axis.title = element_text(size = 14)) +
theme(legend.text = element_text(size = 14)) +
theme(legend.title = element_text(size = 16))
plot(pca_ggplot)
--
Diniz Ferreira
Graduando em Ciências Biológicas
Laboratório de Evolução e Genética de Insetos (LEGIN)
DEZG - IB - Universidade Federal de Pelotas