Was ist der Unterschied zwischen matrix () und as.matrix () in r?

10

Ich habe folgendes in R ausgeführt und die gleiche Ausgabe für beide matrix() und as.matrix() erhalten und jetzt bin ich nicht sicher, was der Unterschied zwischen ihnen ist:

%Vor%     
Linda Rabady 04.06.2013, 08:28
quelle

3 Antworten

10

matrix übernimmt data und weitere Argumente nrow und ncol .

%Vor%

as.matrix ist eine Methode mit unterschiedlichen Verhalten für verschiedene Typen, aber hauptsächlich um eine n * m Matrix von einer n * m Eingabe zurückzugeben.

%Vor%

Der Unterschied zwischen ihnen kommt hauptsächlich von der Form der Eingabe, matrix kümmert sich nicht um die Form, as.matrix tut es und wird es beibehalten (obwohl die Details von den tatsächlichen Methoden für die Eingabe abhängen, und in In Ihrem Fall entspricht ein dimensionsloser Vektor einer einzelnen Spaltenmatrix.) Es spielt keine Rolle, ob die Eingabe rohe, logische, ganze Zahlen, Zahlen, Zeichen oder Komplexe usw. ist.

    
mdsumner 04.06.2013 09:58
quelle
4

matrix konstruiert eine Matrix aus dem ersten Argument mit einer gegebenen Anzahl von Zeilen und Spalten. Wenn das bereitgestellte Objekt nicht groß genug für die gewünschte Ausgabe ist, wird matrix seine Elemente wiederverwenden: zum Beispiel matrix(1:2), nrow=3, ncol=4) . Ist das Objekt dagegen zu groß, werden die überzähligen Elemente verworfen: Beispiel: matrix(1:20, nrow=3, ncol=4) .

as.matrix konvertiert das erste Argument in eine Matrix, deren Dimensionen aus der Eingabe abgeleitet werden.

    
Hong Ooi 04.06.2013 10:13
quelle
0

matrix erstellt eine Matrix aus der gegebenen Menge von Werten. as.matrix versucht, das Argument in eine Matrix umzuwandeln.

Ferner macht Matrix () Anstrengungen, logische Matrizen logisch zu halten, d. h. und speziell strukturierte Matrizen wie symmetrische, dreieckige oder diagonale Matrizen zu bestimmen. as.matrix ist eine generische Funktion. Die Methode für Datenrahmen gibt eine Zeichenmatrix zurück, wenn nur atomare Spalten und eine nicht-numerische (numerisch / logisch / komplex) Spalte vorhanden sind, die Faktoren auf as.vector anwendet und andere Nicht-Zeichenspalten formatiert. Andernfalls wird die übliche Zwangshierarchie (logisch & lt; ganzzahlig & lt; doppelt & lt; komplex) verwendet, z. B. werden alle logischen Datenrahmen zu einer logischen Matrix erzwungen, gemischte logische Ganzzahlen ergeben eine ganzzahlige Matrix usw.

Die Standardmethode für as.matrix ruft as.vector (x) auf und daher z. erzwingt Faktoren zu Zeichenvektoren.

    
Anas R. Rakha 11.10.2017 12:25
quelle

Tags und Links