ヒートマップをヒートマップから作成し、ヒートマップからデンドログラムを抽出し、デンドログラムをnewickファイル形式で保存しようとしています。マトリックスは、列上のゲノムおよび列上の遺伝子を有する。ヒートマップからデンドログラムを抽出中にエラーが発生しました
これを行うには、次のコードを実行しています。私はそれ意志の完全プロフィールで実行しようとすると、
library(ggdendro)
library(ape)
library(gplots)
library(vegan)
profile <-as.data.frame(read.delim("profile_file.txt",row.names=1,sep="\t", as.is=T))
dist_func<-function(x) vegdist(x,"jaccard",binary=TRUE)
hclust_func<-function(x) hclust(x,method="ward.D2")
heat<-heatmap.2(as.matrix(profile),Rowv=TRUE,Colv=TRUE,distfun=dist_func,hclustfun=hclust_func,trace="none")
row.dendro<-heat$rowDendrogram
row.hcclust<-as.hclust(row.dendro)
row.phylo<-as.phylo(row.hcclust)
write.tree(phy=row.phylo, file="tree_file.nwk")
このコードはうまく動作します。しかし、遺伝子列の数を減らすと、樹状図をhclustオブジェクトに変換しようとする段階でエラーが発生します。
row.hcclust<-as.hclust(row.dendro)
Error: all(vapply(s, is.integer, NA)) is not TRUE
私は、データセット内の任意の「NA」の値を探してみましたが、そこにどれもなかったか、そうでなければ、同様の完全なデータセットのために働いていてはいけません。
このエラーを解決する手助けがありますか?このエラーが発生する原因は何かを示唆していますか?
関連記事:http://stackoverflow.com/questions/30354287 – zx8754