2013-01-13 30 views
5

Ich habe eine Matrix mit Rownames, die Daten sind. Ich möchte diese Zeilennamen in eine Variable extrahieren und rownames() verwenden, um diese Daten auf eine andere Matrix anzuwenden, die ich habe. Nehmen wir an, die Matrix heißt "data.matrix".Wie extrahiere ich rownames aus einer Matrix?

Jedes Mal, wenn ich laufen:

data.matrix[,0] 

ich einen Ausdruck aller Termine zu bekommen. Also ich mache das:

v <- data.matrix[,0] 

Wenn ich zurück v bekomme ich eine schöne Liste aller Termine. Aber wenn ich benutze:

rownames(other.matrix) <- v 

Und dann kehre ich:

head(other.matrix) 

ich keine neuen Spaltennamen erhalten.

Auch wenn ich versuche:

head(v) 

ich NULL

Aber wenn ich tun:

v 

ich einen schönen Ausdruck aller meine Daten erhalten.

Also was gibt es? Zuerst dachte ich, dass Matrizen und Daten inkompatibel sind, aber es scheint, als ob sie es sind.

Im Moment bin ich mit merge() auf diese Weise Daten:

z <- merge(v, other.matrix) 

Aber es fühlt sich an wie es einen besseren Weg, dies zu tun.

+2

Versuch: 'rownames (other.matrix) <- rownames (v)' –

Antwort

4

Der Befehl

data.matrix[,0] 

hat eine Matrix-Objekt ohne Spalten zurückzukehren. Daher sehen Sie nur die Zeilennamen.

Um die rownames von einem Objekt zu extrahieren, verwenden Sie die rownames Funktion:

v <- rownames(data.matrix) 
Verwandte Themen