PCA plot

204 views
Skip to first unread message

Diniz Ferreira

unread,
Oct 4, 2020, 3:10:53 PM10/4/20
to ggp...@googlegroups.com
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
Rplot_pca.pdf

Dianne Cook

unread,
Oct 4, 2020, 5:57:36 PM10/4/20
to Diniz Ferreira, ggp...@googlegroups.com
Hi Diniz, It looks like Comp2 is a factor variable. What did "plot(pca)" produce? Was this looking like a regular biplot?

--
--
You received this message because you are subscribed to the ggplot2 mailing list.
Please provide a reproducible example: https://github.com/hadley/devtools/wiki/Reproducibility
 
To post: email ggp...@googlegroups.com
To unsubscribe: email ggplot2+u...@googlegroups.com
More options: http://groups.google.com/group/ggplot2

---
You received this message because you are subscribed to the Google Groups "ggplot2" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ggplot2+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ggplot2/CANWhRj4RRKoSRjarVR5MTpzF71C%3DMsioodMkyuiq7jeNJR8eLw%40mail.gmail.com.
<Rplot_pca.pdf>

---------------------------
Di Cook



Reply all
Reply to author
Forward
0 new messages