if (FALSE) {
library(poppr)
library(BiodiversityR) # also loads vegan
# Example with 1 level
data(nancycats)
names(alleles(nancycats)) <- locNames(nancycats) # small bug in this data set
nancycats2 <- missingno(nancycats, type = "loci", cutoff=0)
nancy.dist <- vegdist(nancycats2@tab, method="euc")
# Same method as in GenAlEx via the squared Euclidean distance
nancy.dist.amova <- poppr.amova(nancycats2, ~Population, within=FALSE,
dist=nancy.dist, squared=FALSE)
nancy.dist.amova
# Via vegan::rda
library(vegan)
nancycats.rda.data <- data.frame(Population=nancycats2@pop)
nancycats.rda.result <- rda(nancycats2@tab ~ Population, data=nancycats.rda.data)
nancycats.rda.result
amova.rda(nancycats.rda.result, nancycats.rda.data)
# Example with 2 levels
# Same example as for poppr::poppr.amova
data(Aeut)
strata(Aeut) <- other(Aeut)$population_hierarchy[-1]
agc <- as.genclone(Aeut)
agc
amova.result <- poppr.amova(agc, ~Pop/Subpop, within=FALSE)
amova.result
agc.rda.data <- data.frame(as.matrix(agc$other$population_hierarchy))
agc.rda.data[, 1] <- as.factor(agc.rda.data[, 1])
agc.rda.data[, 2] <- as.factor(agc.rda.data[, 2])
agc.rda.data[, 3] <- as.factor(agc.rda.data[, 3])
str(agc.rda.data)
agc.rda.result <- rda(agc@tab ~ Pop + Pop_Subpop, data=agc.rda.data)
agc.rda.result
amova.rda(agc.rda.result, agc.rda.data)
# Example with a balanced data set
# library(BiodiversityR)
data(warcom)
data(warenv)
warburgia.genind <- genind(warcom)
warburgia.genind@strata <- warenv
poppr.amova(warburgia.genind, ~ population, within=FALSE)
warburgia.rda <- rda(warcom ~ population, data=warenv)
warburgia.rda
amova.rda(warburgia.rda, warenv)
}
Run the code above in your browser using DataLab