So verwenden Sie in einer Matrix Standardfunktionen in R

Wahrscheinlich das stärkste Merkmal von R ist seine Fähigkeit, mit komplexen Matrix-Operationen auf eine einfache und optimierte Art und Weise zu behandeln. Weil viel von Statistiken läuft darauf hinaus, Matrix-Operationen nach unten, dann ist es nur natürlich, dass R liebt, diese Zahlen zu knirschen.

Wenn man über Operationen auf Matrizen sprechen, können Sie entweder die Elemente der Matrix oder die gesamte Matrix als Wert Sie arbeiten behandeln. Dieser Unterschied ist ziemlich klar, wenn man vergleichen, zum Beispiel eine Matrix zur Umsetzung und das Hinzufügen einer einzigen Nummer (oder Skalar) An eine Matrix.

Bei der Umsetzung arbeiten Sie mit der ganzen Matrix. Wenn eine skalare zu einer Matrix hinzufügen, fügen Sie diesen Skalar zu jedem Element der Matrix.

Sie fügen eine skalare zu einer Matrix einfach durch den Zusatz-Operator, +, so was:

> First.matrix + 4 [1] [2] [3] [4] [1] 5 8 11 14 [2] 6 9 12 15 [3] 7 10 13 16

Sie können alle anderen arithmetischen Operatoren in genau der gleichen Weise verwenden, um eine Operation auf alle Elemente einer Matrix durchzuführen.

Der Unterschied zwischen den Operationen auf Matrizen und Elementen wird weniger klar, wenn man über das Hinzufügen von Matrizen miteinander reden. In der Tat ist die Zugabe von zwei Matrizen die Zugabe der Elemente reagiert. Also, müssen Sie beide Matrizen stellen Sie sicher, die gleichen Abmessungen haben.

Lassen Sie uns ein anderes Beispiel: Angenommen, Sie 1 in die erste Reihe, 2 in die zweite Reihe hinzugefügt werden soll, und 3 in die dritte Reihe der Matrix first.matrix. Sie können dies tun, indem eine Matrix konstruieren second.matrix dass vier Spalten und drei Zeilen, und das hat 1, 2, und 3 als Werte in den ersten, zweiten und dritten Reihe, respectively.

Der folgende Befehl wird unter Verwendung von so das Recycling des ersten Arguments durch die Matrix-Funktion:

> second.matrix lt; - Matrix (1: 3, nrow = 3, NcoI = 4)

Mit dem Zusatz Operator können Sie beide Matrizen zusammen addieren, wie folgt aus:

> First.matrix + second.matrix [1] [2] [3] [4] [1] 2 5 8 11 [2] 4 7 10 13 [3] 6 9 12 15

Dies ist die Lösung, Ihr Mathematiklehrer von zustimmen würde, wenn sie aufgefordert, die Matrix Zugabe der ersten und zweiten Matrix zu tun. Und noch mehr, wenn die Abmessungen der beiden Matrizen nicht gleich sind, wird R beschweren und sich weigern, die Operation durchzuführen, wie im folgenden Beispiel gezeigt:

> First.matrix + second.matrix [1: 3] Fehler bei first.matrix + second.matrix [1: 3]: nicht anpassungs Arrays

Aber was würde passieren, wenn stattdessen eine Matrix der Zugabe, ein Vektor hinzugefügt? Werfen Sie einen Blick auf das Ergebnis des folgenden Codes:

> First.matrix + 1: 3 [1] [2] [3] [4] [1] 2 5 8 11 [2] 4 7 10 13 [3] 6 9 12 15

Nicht nur, dass R nicht über die Abmessungen beschweren, aber es rezykliert den Vektor über die Werte der Matrices. In der Tat behandelt R die Matrix als ein Vektor in diesem Fall einfach durch die Abmessungen ignorieren. Also, in diesem Fall, verwenden Sie nicht Matrix Addition, sondern einfach (vektorisiert) hinaus.

Standardmäßig füllt R Matrizen spaltenweise. Jedes Mal, wenn R eine Matrix liest, ist es auch liest es spaltenweise. Dies hat erhebliche Auswirkungen auf die Arbeit mit Matrizen. Wenn Sie nicht wissen das bleiben, R können Sie im Bein nastily beißen.

Menü