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

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

使用:

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

结果图:

enter image description here

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

通过强制引入的 NA。

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

有人知道这是怎么回事吗?

有帮助吗?

解决方案

为了 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)

enter image description here

其他提示

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

plot(modelname, labels=dataset$variable)
.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top