Matrix() Funktion
Manchmal hat man nur einen Vektor, den man in eine Matrix umwandeln muss. Wie kann das gemacht werden? Die Antwort ist einfach - durch die Verwendung der Funktion matrix()
.
Diese Funktion hat die folgenden Parameter:
matrix(data = NA, nrow = 1, ncol = 1, byrow = F)
Dies sind nicht alle Parameter, aber die für uns wichtigsten.
data
- ist der Vektor, den wir verwenden möchten, um die Matrix zu erstellen;nrow
- Anzahl der Zeilen in einer neuen Matrix;ncol
- Anzahl der Spalten in einer neuen Matrix;byrow
- logisch, ob die Matrix zeilenweise gefüllt werden soll. Es ist wichtig zu beachten, dass die Länge des Vektors, der alsdata
-Parameter gefüllt wird, durchnrow
oderncol
teilbar sein muss. Wenn beide Parameter gesetzt sind, dann mussnrow*ncol
der Vektorlänge entsprechen.
Zum Beispiel konstruieren wir eine 3x3-Matrix mit ganzen Zahlen von 1 bis 9.
# Vector of integers num <- 1:9 # Build a matrix from vector matrix(num, nrow = 3, ncol = 3)
Wie Sie sehen können, wurde diese Matrix zuerst von oben nach unten aufgebaut. Lassen Sie uns den Parameter byrow
auf T
setzen und die Ergebnisse vergleichen.
num <- 1:9 # Build a matrix from vector by rows matrix(num, nrow = 3, ncol = 3, byrow = T)
Wie Sie sehen können, haben wir diese Matrix von links nach rechts gefüllt. Wir konnten es uns leisten, nur einen der Parameter nrow
oder ncol
wegzulassen, da 9 (Anzahl der Elemente im Vektor) durch 3 teilbar ist und ein ganzzahliges Ergebnis liefert.
Swipe to start coding
Gegeben ist ein Vektor von Zahlen namens num
.
2 4 6 8 10 12 14 16
Basierend auf diesem Vektor müssen Sie die folgende Matrix erstellen.
2 4 6 8
10 12 14 16
Verwenden Sie nur die matrix()
Funktion und denken Sie über die korrekten Werte der Parameter nach.
Lösung
Wie funktioniert die seq()
Funktion? seq(a, b)
generiert Ganzzahlen von a
bis b
einschließlich. seq(a, b, c)
generiert Ganzzahlen von a
bis b
mit dem Schritt c
.
Danke für Ihr Feedback!