首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Dendrogram和HistDAWass软件包

Dendrogram和HistDAWass软件包
EN

Stack Overflow用户
提问于 2015-11-25 08:05:51
回答 1查看 199关注 0票数 0

我使用HistDAWass包(https://cran.r-project.org/web/packages/HistDAWass/index.html)来使用包作者部分提供的脚本执行集群。

由于Data1.csv文件不包含带有行名示例(标签)的列,因此我得到一个树状图,它将树标签标记为I1...I6。因此,我尝试使用一个新文件(Data2.csv),它的第一列包含了标签,但我得到了一个错误。

如果有人能解释如何用新标签生成树状图,我将不胜感激。

剧本:

代码语言:javascript
复制
library(HistDAWass)
data=read.csv('D:/Data1.csv', header = FALSE)
data=t(data)
Hdata=MatH(nrows=6,ncols = 1)

for (i in 1:get.MatH.nrows(Hdata)){
  tmp=data2hist(as.vector(data[,i]))
  Hdata@M[i,1][[1]]=tmp

}

results=WH_hclust(x = Hdata,simplify = TRUE, method="complete")
plot(results) # it plots the dendrogram

数据文件(在zip中):http://ge.tt/8yVsiQS2/v/0

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-29 13:03:16

脚本包含一种生成矩阵的方法,其中每个单元格中都有一个distributionH对象。在distributionH循环中,从原始数据( csv文件的每一行)中生成一个新的MatH (分发矩阵)。要从Data2.csv文件构建相同的代码,您应该运行以下脚本

代码语言:javascript
复制
 library(HistDAWass)
#read data
data=read.csv('Data2.csv', header = FALSE)
#initialize an empty MatH matrix using names from the firs colum of data
Hdata=MatH(nrows=nrow(data),rownames=as.list(as.character(data[,1])),ncols = 1)

#Fill the matrix
for (i in 1:get.MatH.nrows(Hdata)){
  tmp=data2hist(as.vector(t(data[i,2:ncol(data)])))
  Hdata@M[i,1][[1]]=tmp

}
#Do hierarchical clustering
results=WH_hclust(x = Hdata,simplify = TRUE, method="complete")
plot(results) # it plots the dendrogram
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33911282

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档