# 引入包 install_if_missing <- function(pkg , BiocM=FALSE ) { if (!require(pkg, character.only = TRUE)) { if( BiocM ){ BiocManager::install(pkg ,update=FALSE ) }else{ install.packages(pkg, dependencies = TRUE) } suppressPackageStartupMessages( library(pkg, character.only = TRUE) ) } } required_packages <- c("ape") invisible(lapply(required_packages, install_if_missing)) data <- read.table('genus_bray_distance.xls', header=T, sep='\t', check.names=F, row.names=1) rownames(data) <- colnames(data) sample_list <- read.table('Sample_list.txt', sep='\t', header=F, check.names=F, colClasses='character', na.strings='') data <- data[match(sample_list[, 2], rownames(data)), match(sample_list[, 2], colnames(data)), drop=F] hc <- hclust(as.dist(data), method='average') my_tree <- as.phylo(hc) write.tree(phy=my_tree, file=paste0(name, '.tre'))