2014-11-13 12 views
7

Wenn ich eine Matrix drucke, wird sie mit Zeilen- und Spaltenindizes in der Konsole angezeigt. Z.B.Drucken einer Matrix ohne Zeilen- und Spaltenindizes

> print(diag(3)) 
    [,1] [,2] [,3] 
[1,] 1 0 0 
[2,] 0 1 0 
[3,] 0 0 1 

Wie kann ich die Spalten- und Zeilenindizes unterdrücken? I.e. so etwas wie diese:

> print(diag(3), indices=FALSE) 
1 0 0 
0 1 0 
0 0 1 

Ich kann sehen, dass das cwhmisc Paket eine printM Funktion, dies zu tun enthalten sollte according to the documentation aber es ist nicht da, wenn ich cwhmisc laden. Auch dies wie etwas scheint sollten Sie in der Lage sein, in der Basis R. bis zu

+2

Frage: ** Warum ** willst du das tun? Das Drucken auf der Konsole erfolgt ausschließlich für den operativen Gebrauch. Wenn Sie möchten, dass die Matrix in eine Datei "gedruckt" wird, gibt es viele Optionen in 'write.table', um Zeilen- und Spaltennamen zu unterdrücken. –

+0

Antwort: Um die Matrix (eigentlich eine '' as.matrix (tabellarisch (...)) '') schnell in einen Papierentwurf zu kopieren, ohne Dateien schreiben/öffnen/kopieren/schließen zu müssen und ohne die Indizes manuell entfernen zu müssen . Nur Faulheit, schätze ich. –

Antwort

8

Die Funktion prmatrix im base Paket könnte dies umgehen, kann es die Argumente collab und rowlab:

prmatrix(diag(3), rowlab=rep("",3), collab=rep("",3)) 

1 0 0 
0 1 0 
0 0 1 
+0

(+1) Es ist lustig, dass es das Beispiel in der Dokumentation ist :) –

+0

Dies fügt jedoch Platz an der Spitze und der linken Seite. Die Ausgabe ist die gleiche wie für 'm <- diag (3); Spaltennamen (m) <- rownames (m) <- rep ("", 3); drucken (m) '. – Roland

+0

Die Dokumentation scheint veraltet zu sein: Sie verweist auf "print.matrix", aber in aktuellen R-Versionen scheint es keine solche Druckmethode zu geben. –

8

Eine andere Lösung mit Funktion write.table

write.table(diag(3), row.names=F, col.names=F) 

Sie können es schönere machen, indem sie die Säulen mit einer Auftabellierung Trennung

write.table(matrix(sample(1000,9),3,3), row.names=F, col.names=F, sep="\t") 
Verwandte Themen