2017-03-09 6 views
0

Ich habe versucht, "tsne" zu verwenden, um meine Daten zu analysieren. Nach den Beispieldaten ("iris") in "README" von "tsne", habe ich versucht, meine eigenen Daten so zu strukturieren, dass sie als Eingabe für die Funktion tsne() verwendet werden können.R: Konvertieren von Dimnamen in Spalte in Matrix

>sampledata 

    Gene 1 Gene 2 Gene 3 Gene 4 GeneX 
Cell1 Value  Value  Value  Value  Value  
Cell2 Value  Value  Value  Value  Value  
Cell3 Value  Value  Value  Value  Value  
Cell4 Value  Value  Value  Value  Value  
Cell5 Value  Value  Value  Value  Value  

Vergleich mit „Iris“, ich denke, dass ich eine zusätzliche Spalte mit der dimnames „Cell1“ „Cell2“ „Cell3“ Für Datenrahmen hinzufügen, ich denke, ich einfach wie etwas tun könnte:

sampledata$sampleids<-rownames(sampledata) 

Aber ich habe keine Ahnung, wie man ähnliche Tricks zu Matrix macht. Danke für jeden Vorschlag.

+0

sein Ich weiß nicht, tsne, aber eine Matrix enthält Werte des gleichen Typs. Wenn es sich bei den Werten um Zahlen handelt, können Sie keine Zeichenfolgen hinzufügen. – user31264

+0

@ user31264, Ja, Matrix enthält Werte des gleichen Typs. Danke, dass du mich daran erinnert hast (ich habe gerade erfahren, dass diese Woche noch in meinem Kopf Wurzeln geschlagen hat ...). Nach dem erneuten Überprüfen des "README" -Teils, tatsächlich "tsne_out <- Rtsne (as.matrix (iris_unique [, 1: 4]))" wird der ursprüngliche Datenrahmen in eine Matrix umgewandelt, und ich hatte bereits die Matrix, keinen Punkt zu machen Datenrahmen zuerst. Entschuldigen Sie die Mühe und Danke! – Jun

Antwort

0

Wir können cbind aber eine numeric Matrix mit character Element Ergebnisse in character Matrix Misch

sampledata <- cbind(sampledata, sampleids=rownames(sampledata)) 

Wenn wir nur etwas Kennung möchten, verwenden Sie die Zeilenfolge als Kennung, die eine numerische

sampledata <- cbind(sample(data, sampleids = seq_len(nrow(sampledata))) 
Verwandte Themen