将行名称标记为R节中的叶节点树形图名称

时间:2017-08-21 12:21:42

标签: r label dendrogram dendextend

我正在尝试使用我的数据集中指定的Rownames来标记我的树状图。

我使用的包:hybridHclust,代码如下。

示例表(DATASET,我希望我使用正确的格式)

  UID Condition1 Condition2 Condition3
1 Gene1 0.46 0.47 -0.02
2 Gene2 0.8 0.93 0.08
3 Gene3 0.45 0.89 1.04

DATASET_1 <- DATASET[,-1] # removes UID column which is not needed
  Gene Condition1 Condition2 Condition3

现在我已经删除了origianl excel表所需的UID列,但没有删除聚类分析:

  Condition1 Condition2 Condition3
1 0.46 0.47 -0.02
2 0.8 0.93 0.08
3 0.45 0.89 1.04

DATASETMatrix <- as.matrix.data.frame(DATASET_2) # converts df to matrix
DATASETMatrix_R <- t(DATASETMatrix) #flips along diagonal for clustering

现在表格是

             v1 v2 v3
Condition1 0.46 0.8 0.45
Condition2 0.47 0.93 0.89
Condition3 -0.02 0.08 1.04

行号指示(1,2,3)在R studio中消失,并替换为列出的条件。

DATASETClust <- as.dendrogram((eisenCluster(DATASETMatrix_R, method = "uncentered.correlation",
                                        compatible = TRUE)), hang = -0.1) #uses uncentered Pearson correlation which is not present in hclust

library(dendextend)
DATASETClust %>% set("labels_cex", 0.25) %>% 
plot(horiz = T) # got his from somewhere online

enter image description here 当我运行这个时,我得到行号作为我的树形图上的标签,但我需要行名称(Conition1,Condition2,Condition3),它们需要对应于它们各自的数据(不应该只是按数字顺序)。这可能不是那么糟糕,但我的实际数据集有超过400个条件进行比较,每个条件超过4000个变量,并且列表将继续增长,因此手动输入名称是不可行的。

谢谢大家,我欢迎在发布到此网站时反馈任何格式问题。

1 个答案:

答案 0 :(得分:1)

您可以使用 dendextend 包更改 DATASETClust (类树形图的对象)的标签(名称)。

查看使用示例here