if (FALSE) {
if (requireNamespace("vegan", quietly = TRUE)) {
# use dune dataset
data(dune, package='vegan')
species <- c("Achillea millefolium", "Agrostis stolonifera",
"Aira praecox", "Alopecurus geniculatus", "Anthoxanthum odoratum",
"Bellis perennis", "Bromus hordeaceus", "Chenopodium album",
"Cirsium arvense", "Comarum palustre", "Eleocharis palustris",
"Elymus repens", "Empetrum nigrum", "Hypochaeris radicata",
"Juncus articulatus", "Juncus bufonius", "Lolium perenne",
"Plantago lanceolata", "Poa pratensis", "Poa trivialis",
"Ranunculus flammula", "Rumex acetosa", "Sagina procumbens",
"Salix repens", "Scorzoneroides autumnalis", "Trifolium pratense",
"Trifolium repens", "Vicia lathyroides", "Brachythecium rutabulum",
"Calliergonella cuspidata")
colnames(dune) <- species
# aggregate sample to families
(agg <- tax_agg(dune, rank = 'family', db = 'ncbi'))
# extract aggregated community data matrix for further usage
agg$x
# check which taxa have been aggregated
agg$by
}
# A use case where there are different taxonomic levels in the same dataset
spnames <- c('Puma','Ursus americanus','Ursidae')
df <- data.frame(c(1,2,3), c(11,12,13), c(1,4,50))
names(df) <- spnames
out <- tax_agg(x=df, rank = 'family', db='itis')
out$x
# You can input a matrix too
mat <- matrix(c(1,2,3, 11,12,13), nrow = 2, ncol = 3,
dimnames=list(NULL, c('Puma concolor','Ursus americanus','Ailuropoda melanoleuca')))
tax_agg(mat, rank = 'family', db='itis')
}
Run the code above in your browser using DataLab