1

我正在处理一个数据集(第 1 列 = 基因名称和第 2 列 = 表达值),我正在尝试做一个聚类图,但我发现分支是用行号而不是列中的基因 ID 标记的1.

数据集:https ://dl.dropbox.com/u/364456/miRNA.csv

使用:

attach(animals)
d=dist(as.matrix(animals))
hc=hclust(d)
plot(hc)

结果图:

在此处输入图像描述

我尝试进行 kmeans 聚类并最终收到此错误:

通过强制引入的 NA。

这表明我没有正确格式化我的数据文件。

有人知道这里发生了什么吗?

4

2 回答 2

4

为了hclust将您的基因名称识别为正确的标签名称,此列必须是行名称。

问题:基因mmu-miR-191出现两次,行名不能重复。考虑到两行的值相同,我只是假设它是重复的并删除第二行。

read.table("miRNA.csv", sep=",", header=TRUE, row.names=1) -> mirna
mirna[-34,] -> mirna  # Delete the redundant row.
row.names(mirna) <- mirna[,1] # Declare column 1 as the row names
dist(as.matrix(mirna)) -> d # And then your routine
hc <- hclust(d)
plot(hc)

在此处输入图像描述

于 2012-07-31T13:48:29.507 回答
0

默认情况下,行号或行名用于标记观测值。但是,您可以使用标签参数来选择用于标签的变量。

plot(modelname, labels=dataset$variable)
于 2015-10-11T12:10:05.707 回答