data(nancycats)
nan9 <- popsub(nancycats, 9)
set.seed(9999)
# Generate a tree using nei's distance
neinan <- aboot(nan9, dist = nei.dist)
set.seed(9999)
# Generate a tree using custom distance
bindist <- function(x) dist(tab(x), method = "binary")
binnan <- aboot(nan9, dist = bindist)
## Not run:
# # Distances from other packages.
# #
# # Sometimes, distance functions from other packages will have the constraint
# # that the incoming data MUST be genind. Internally, aboot uses the
# # bootgen class ( class?bootgen ) to shuffle loci, and will throw an error
# # The function bootgen2genind helps fix that. Here's an example of a function
# # that expects a genind class from above
# bindist <- function(x){
# stopifnot(is.genind(x))
# dist(tab(x), method = "binary")
# }
# #
# # Fails:
# # aboot(nan9, dist = bindist)
# ## Error: is.genind(x) is not TRUE
# #
# # Add bootgen2genind to get it working!
# # Works:
# aboot(nan9, dist = function(x) bootgen2genind(x) %>% bindist)
#
# # AFLP data
# data(Aeut)
#
# # Nei's distance
# anei <- aboot(Aeut, dist = nei.dist, sample = 1000, cutoff = 50)
#
# # Rogers' distance
# arog <- aboot(Aeut, dist = rogers.dist, sample = 1000, cutoff = 50)
#
# # This can also be run on genpop objects
# strata(Aeut) <- other(Aeut)$population_hierarchy[-1]
# Aeut.gc <- as.genclone(Aeut)
# setPop(Aeut.gc) <- ~Pop/Subpop
# Aeut.pop <- genind2genpop(Aeut.gc)
# set.seed(5000)
# aboot(Aeut.pop, sample = 1000) # compare to Grunwald et al. 2006
#
# # You can also use the strata argument to convert to genpop inside the function.
# set.seed(5000)
# aboot(Aeut.gc, strata = ~Pop/Subpop, sample = 1000)
#
# # And genlight objects
# # From glSim:
# ## 1,000 non structured SNPs, 100 structured SNPs
# x <- glSim(100, 1e3, n.snp.struc=100, ploid=2)
# aboot(x, distance = bitwise.dist)
#
# # Utilizing other tree methods
#
# library("ape")
#
# aboot(Aeut.pop, tree = fastme.bal, sample = 1000)
#
# # Utilizing options in other tree methods
#
# myFastME <- function(x) fastme.bal(x, nni = TRUE, spr = FALSE, tbr = TRUE)
# aboot(Aeut.pop, tree = myFastME, sample = 1000)
#
# ## End(Not run)
Run the code above in your browser using DataLab