Как сделать PCoA с 95% полигонов достоверности, используя ggplot2 в R?
У меня есть датафрейм (сайт по видам матрицы), который выглядит так:
SP1 SP2 SP3 SP4
US 5 6 2 5
US 5 6 2 5
UK 5 6 2 5
AUS 5 6 2 5
Я пытаюсь создать график PCoA (Анализ основных координат) с полигонами / эллипсами с 95-процентной достоверностью, используя ggplot2. Я получил код для базового пакета, но я хочу его в ggplot2. Мне нужно однозначно раскрасить каждую страну цветом, а каждый эллипс должен иметь соответствующий цветовой код страны и легенды.
#My current code
require(vegan)
df <- as.matrix(df[,-1]) #Use this to convert dataframe to matrix
row.names(df) <- df[,1]#Use this to convert dataframe to matrix
dfjd <- vegdist(df, method = "jaccard")
dfpca <- cmdscale(dfjd, eig = TRUE, k = 2)
explainvar1 <- round(dfpca$eig[1] / sum(dfpca$eig), 2) * 100
explainvar2 <- round(dfpca$eig[2] / sum(dfpca$eig), 2) * 100
sum.eig <- sum(explainvar1, explainvar2)
plot(dfpca$points[ ,1], dfpca$points[ ,2],
xlab = paste("PCoA 1 (", explainvar1, "%)", sep = ""),
ylab = paste("PCoA 2 (", explainvar2, "%)", sep = ""),
pch = 16, cex = 2.0, type = "n", cex.lab = 1.5, cex.axis = 1.2, axes = FALSE)
axis(side = 1, labels = T, lwd.ticks = 2, cex.axis = 1.2, las = 1)
axis(side = 2, labels = T, lwd.ticks = 2, cex.axis = 1.2, las = 1)
abline(h = 0, v = 0, lty = 3)
box(lwd = 2)
points(dfpca$points[ ,1], dfpca$points[ ,2],pch = 19, cex = 1, bg = "gray", col = "grey")
ordiellipse(dfpca, rownames(df), kind = "se",conf = .95,col = NULL)