¿Por qué las etiquetas de los gráficos de conglomerados utilizan filas en lugar de nombres de la columna de ID?

StackOverflow https://stackoverflow.com//questions/11693078

  •  12-12-2019
  •  | 
  •  

Pregunta

Estoy trabajando con un conjunto de datos (columna 1 = nombres de genes y columna 2 = valores de expresión) y estoy tratando de hacer un diagrama de conglomerados, pero lo que encuentro es que las ramas están etiquetadas por el número de fila en lugar del ID del gen de la columna. 1.

conjunto de datos: https://dl.dropbox.com/u/364456/miRNA.csv

Usando:

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

trama resultante:

enter image description here

Intenté hacer una agrupación de kmeans y terminé recibiendo este error:

NA introducidas por coerción.

Lo que me indica que no he formateado correctamente mi archivo de datos.

¿Alguien sabe qué está pasando aquí?

¿Fue útil?

Solución

Para hclust Para reconocer el nombre de su gen como el nombre de etiqueta correcto, esta columna debe contener los nombres de las filas.

Problema:gene mmu-miR-191 aparece dos veces y los nombres de las filas no se pueden repetir.Teniendo en cuenta que el valor de ambas filas es el mismo, asumiré que es un duplicado y borraré la segunda.

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

Otros consejos

De forma predeterminada, los números de fila o los nombres de fila se utilizan para etiquetar las observaciones.Sin embargo, puede usar el argumento de las etiquetas para seleccionar una variable para usar para las etiquetas.

plot(modelname, labels=dataset$variable)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top