2017-11-27 5 views
0

Ich zeichne eine Heatmap einiger Genexpression in Rstudio, aber die Zeilennamen (die Proben oder Gen-Namen sein sollten) werden durch Zahlen ersetzt. Ich habe some posts überprüft aber keine Chance. sorry, wenn es sich um eine einfache Frage oder duplizieren, ich bin neu in R.Hinzufügen von Zeilennamen zu Heatmap mit Heatmaply

Hier ist mein R-Skript ist:

############################################################### 

library(heatmaply) 

filename <- "TFzebra-TMM-name.matrix" 

head(filename) 

my_data <- read.table(filename, sep='\t', quote='', stringsAsFactors=FALSE, header=TRUE) 
head(my_data) 
dim(my_data) 
nrow(my_data) 
ncol(my_data) 
row.names(my_data) <- my_data$samples 
head (my_data) 
my_data <- my_data[, -1] 
head(my_data) 
data <- my_data/rowSums(my_data) 
my_matrix <- as.matrix(data) 

heatmaply(data, xlab = "Features", ylab = "Transcription Factors", 
      scale = "column", 
      main = "Data transformation using 'scale'", 
      margins = c(60,100,40,20)) 

HINWEIS:

> head (my_data) 
    samples J1 J2 J3 H1 H2 H3 
1 zf-C2H2 0.00 0 0 0.507 0.232 0.540 
2  baz2a 0.00 0 0 0.355 0.342 0.132 
3 baz2ab 0.00 0 0 0.091 0.070 0.163 
4 kdm5ba 0.00 0 0 1.835 0.856 1.527 
5  dbpa 0.00 0 0 5.344 5.355 0.000 
6 LOC555983 0.02 0 0 0.294 0.634 0.835 

NOTE2:

> my_data <- my_data[, -1] 
> head(my_data) 
    J1 J2 J3 H1 H2 H3 
1 0.00 0 0 0.507 0.232 0.540 
2 0.00 0 0 0.355 0.342 0.132 
3 0.00 0 0 0.091 0.070 0.163 
4 0.00 0 0 1.835 0.856 1.527 
5 0.00 0 0 5.344 5.355 0.000 
6 0.02 0 0 0.294 0.634 0.835 

Antwort

1

Sie sollten die erste Spalte zu dem Attribut row.names hinzufügen (mit der Funktion rownames, ja, ich weiß, es ist nicht sehr konsistent) vor yo Du entfernst es. Das heißt:

rownames(my_data) <- my_data[, 1] 
my_data <- my_data[, -1] 
library(heatmaply) 
heatmaply(my_data) # should now work 

Für die Zukunft - bitte denken Sie daran, dass, da man die Leute fragen Sie aus ihrer Zeit zu geben, helfen (kostenlos), Sie müssen ihnen zeigen zunächst, dass Sie die Mühe gemacht haben, den besten Gebrauch zu machen ihrer Zeit ist das möglich. Bevor Sie also dort posten, stellen Sie bitte sicher, dass Sie Ihre Frage so erweitern, dass sie alle benötigten Informationen enthält, so dass die Leute sie beantworten (speziell um ein Beispiel für SELBSTBEHALTEN zu erhalten). Bitte lesen Sie zwei folgende Anleitungen, wie eine gute Frage geschrieben werden sollte, damit Sie in Zukunft die Unterstützung erhalten, die Sie benötigen: http://stackoverflow.com/help/how-to-ask