R 中的热图,行中出现重复名称

Lit*_*tle 2 r heatmap

我正在基于 csv 文件在 R 中编写热图。其中包含以下信息:

NAME,metformin,metformin,phenformin,phenyl biguanide,metformin,estradiol
Adenocarcinoma of lung,0,0,0,-1.834006462,1.715939688,0
Adenocarcinoma of lung,1.995916353,0,0,0,0,0
Thymic carcinoma,1.154056722,1.106488961,0,1.145126548,0,-1.14095315
alpha-1-Antitrypsin deficiency,0,0,0,0,-1.917025669,-1.974151858
Run Code Online (Sandbox Code Playgroud)

所以我想创建一个热图,其中行的名称中出现标签:肺腺癌、腺癌...等。我正在执行以下步骤:

hm<-read.csv("heatmap1.csv",sep=",")
row.names(hm)<-hm$NAME
hm<-hm[,2:7]
hm_matrix<-data.matrix(hm)
heatM<-heatmap(hm_matrix, Rowv=NA, Colv=NA, col = cm.colors(256), scale="column", margins=c(5,10))
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是这样的:

row.names(hm)<-hm$NAME

Error in `row.names<-.data.frame`(`*tmp*`, value = c(1L, 1L, 3L, 2L)) : 
  duplicate 'row.names' are not allowed
Run Code Online (Sandbox Code Playgroud)

我知道我有一个重复的名字,但我确实需要数据出现在热图中,因为即使它们来自相同的疾病,测量水平(数量)也是不同的。

谢谢您的帮助

mne*_*nel 5

您可以用来 make.unique制作名称的独特版本

row.names(hm) <-  make.unique(as.character(hm$NAME))
Run Code Online (Sandbox Code Playgroud)