Ein Array ist eine Datenstruktur, die mehrdimensionale Daten aufnehmen kann. In R sind Arrays Objekte, die Daten in zwei oder mehr Dimensionen speichern. Beispielsweise können quadratische Matrizen zwei Zeilen und zwei Spalten haben, und die Dimension kann auf fünf erweitert werden. Arrays speichern nur Werte eines einheitlichen Datentyps. Die Daten können mehrdimensional sein, mit Zeilen, Spalten und ggf. weiteren Dimensionen.
Erstellen eines Arrays
Die Funktion array() erstellt ein Array. Als Argumente übergibst du einen Vektor mit Zahlen sowie die Dimensionen ("dim").
Schauen wir uns ein Beispiel an, in dem zwei Vektoren mit den Namen "array1" und "array2" erzeugt werden.
vector1 = c (5,10,15,20)
vector2 = c (25,30,35,40,45,50,55,60)Bereitgestellt von
Diese beiden Vektoren kannst du als Eingabe für ein Array mit der Dimension 4 × 4 verwenden, sodass drei Matrizen bzw. Ebenen entstehen.
final = array (c (array1, array2),dim =c(4,4,3))print(final)Bereitgestellt von
Die Ausgabe des obigen Codes sieht so aus:
,,1[,1][,2][,3][,4][1,]525455[2,]10305010[3,]15355515[4,]20406020,,2[,1][,2][,3][,4][1,]2545525[2,]30501030[3,]35551535[4,]40602040,,3[,1][,2][,3][,4][1,]4552545[2,]50103050[3,]55153555[4,]60204060Bereitgestellt von
Benennen wir unser Array nun mit "Arr1" und "Arr2" über "matrix.names" um. Außerdem ändern wir die Zeilennamen in ("row1", "row2") und die Spaltennamen in ("column1", "column2", "column3"). Die Dimension der Matrix ist 2 Zeilen × 3 Spalten.
array1 = c (9,18)
array2 = c (27,36)
r.names = c ("column1","column2","column3")
c.names = c ("row1","row2")
m.names = c ("Arr1","Arr2")
final = array (c (array1,array2), dim=c (2,3,2), dimnames=list(c.names, r.names, m.names))print(final)Bereitgestellt von
Die Ausgabe des obigen Codes zeigt zwei Zeilen und drei Spalten. Außerdem werden Werte in den Spalten wiederholt, sobald die Eingabevektoren aufgebraucht sind:
Ein Array besteht aus Elementen in mehreren Dimensionen. Jedes Element kann für Operationen adressiert werden. Die Indizierung erfolgt mit '[]'. In array-ähnlichen Matrizen mit Zeilen und Spalten nutzt du das Schema: mat[row, column]
Betrachten wir ein Beispiel, in dem das Array einen Vektoreingang von 1 bis 9 enthält. Es gibt genau drei Zeilen und drei Spalten mit den Werten 1 bis 9. 'c.names' sind die neuen Spaltennamen als Vektor ('c1', 'c2', 'c3') und 'r.names' sind die neuen Zeilennamen ('r1', 'r2', 'r3').
a1= c (1,2,3,4)
a2= c (5,6,7,8,9)
r.names = c ("c1","c2","c3")
c.names = c ("r1","r2","r3")
m.names = c ("first")
arr = array (c (a1,a2), dim=c (3,3,1), dimnames=list(c.names, r.names, m.names))print(arr)Bereitgestellt von
Du kannst die gesamte Ebene des Arrays 'arr' mit folgender Syntax abrufen: 'arr[ , ,1]'. Leere Bereiche vor den Kommas stehen für alle Zeilen bzw. Spalten. Die 1 gibt die zu entnehmende Ebene an.
'apply()' gehört zur R-Familie von Funktionen, die das Schreiben von Code einfacher und effizienter machen. Im folgenden Beispiel berechnen wir damit die Summe zweier Matrizen.
Die Syntax von apply(): apply(x, margin, function)
Die Argumente bedeuten: x: Ein Array oder zweidimensionale Daten wie Matrizen. margin: Gibt an, worauf die Funktion angewendet wird: c(1) für Zeilen, c(2) für Spalten, c(1,2) für beides. function: Die in R eingebaute oder benutzerdefinierte Funktion, die auf die Daten angewendet wird.
Erstelle nun einen Vektor 'array1' der Länge drei und 'array2' der Länge sechs mit folgendem Code.
Unten siehst du, wie array() die beiden Vektoren 'array1' und 'array2' akzeptiert, ein Array mit 3 Zeilen, 3 Spalten und 2 Ebenen erstellt und es in 'my.Array' speichert.
my.Array <- array(c(array1,array2),dim = c(3,3,2))print(my.Array)Bereitgestellt von
,,1[,1][,2][,3][1,]51530[2,]102035[3,]152540,,2[,1][,2][,3][1,]51530[2,]102035[3,]152540Bereitgestellt von
Die Ausgabe zeigt zwei Matrizen im 3 × 3-Format (Zeilen × Spalten).
,,1[,1][,2][,3][1,]51530[2,]102035[3,]152540,,2[,1][,2][,3][1,]51530[2,]102035[3,]152540Bereitgestellt von
Mit 'apply()' berechnen wir nun die Spaltensummen über beide Matrizen.
Glückwunsch, du hast das Ende dieses Tutorials erreicht!
Du hast R-Arrays kennengelernt: deren Erstellung, das Indizieren mit Beispielen sowie das Erstellen und Addieren von Matrizen und den Einsatz der apply()-Funktion.
Wenn du mehr über R lernen möchtest, starte mit DataCamps Introduction to R-Kurs.
Mach dich mit Python-Datenstrukturen vertraut: Lerne mehr über Datentypen und primitive sowie nicht-primitive Datenstrukturen wie Strings, Listen, Stapel usw.
Gewinne Vertrauen in die OLS-Regression, indem du ihre theoretischen Grundlagen beherrschst. Erforsche, wie du einfache Implementierungen in Excel, R und Python durchführst.
Ein Array ist eine Datenstruktur, die mehrdimensionale Daten aufnehmen kann. In R sind Arrays Objekte, die Daten in zwei oder mehr Dimensionen speichern. Beispielsweise können quadratische Matrizen zwei Zeilen und zwei Spalten haben, und die Dimension kann auf fünf erweitert werden. Arrays speichern nur Werte eines einheitlichen Datentyps. Die Daten können mehrdimensional sein, mit Zeilen, Spalten und ggf. weiteren Dimensionen.
Erstellen eines Arrays
Die Funktion array() erstellt ein Array. Als Argumente übergibst du einen Vektor mit Zahlen sowie die Dimensionen ("dim").
Schauen wir uns ein Beispiel an, in dem zwei Vektoren mit den Namen "array1" und "array2" erzeugt werden.
Diese beiden Vektoren kannst du als Eingabe für ein Array mit der Dimension 4 × 4 verwenden, sodass drei Matrizen bzw. Ebenen entstehen.
Die Ausgabe des obigen Codes sieht so aus:
Benennen wir unser Array nun mit "Arr1" und "Arr2" über "matrix.names" um. Außerdem ändern wir die Zeilennamen in ("row1", "row2") und die Spaltennamen in ("column1", "column2", "column3"). Die Dimension der Matrix ist 2 Zeilen × 3 Spalten.
Die Ausgabe des obigen Codes zeigt zwei Zeilen und drei Spalten. Außerdem werden Werte in den Spalten wiederholt, sobald die Eingabevektoren aufgebraucht sind:
Indizierung in einem Array
Ein Array besteht aus Elementen in mehreren Dimensionen. Jedes Element kann für Operationen adressiert werden. Die Indizierung erfolgt mit '[]'. In array-ähnlichen Matrizen mit Zeilen und Spalten nutzt du das Schema:
mat[row, column]Betrachten wir ein Beispiel, in dem das Array einen Vektoreingang von 1 bis 9 enthält. Es gibt genau drei Zeilen und drei Spalten mit den Werten 1 bis 9. 'c.names' sind die neuen Spaltennamen als Vektor ('c1', 'c2', 'c3') und 'r.names' sind die neuen Zeilennamen ('r1', 'r2', 'r3').
Die Ausgabe des obigen Codes lautet:
Wie du siehst, wurden die Werte 1 bis 9 in einer 3 × 3-Struktur (Zeilen × Spalten) angeordnet, und Zeilen- sowie Spaltennamen wurden vergeben.
Schauen wir uns an, wie sich Elemente aus dem Array extrahieren lassen.
7
Die Ausgabe ist 7. In 'arr[1,3,1]' bedeutet das: Zeile 1, Spalte 3, und 1 steht für die erste Ebene des Arrays 'arr'.
1
Die Ausgabe ist 1.
Der obige Code liefert folgende Ausgabe: Es werden 2 Zeilen und 2 Spalten aus der ersten Ebene des Arrays 'arr' extrahiert:
Die Ausgabe enthält alle Elemente:
Die Ausgabe zeigt zudem die Bezeichnungen c1, c2, c3.
Die Ausgabe zeigt zudem die Bezeichnungen r1, r2, r3.
Matrizen erstellen und addieren
Erstelle zwei Matrizen namens mat1 und mat2 aus 'arr[ , ,1]'. Dabei werden alle Zeilen und Spalten der ersten Ebene von 'arr' kopiert.
Addiere die beiden Matrizen 'mat1' und 'mat2' und speichere das Ergebnis in final. Gib das Ergebnis anschließend aus.
Die folgende Ausgabe zeigt, dass die entsprechenden Elemente von mat1 und mat2 paarweise addiert wurden.
apply()
'apply()' gehört zur R-Familie von Funktionen, die das Schreiben von Code einfacher und effizienter machen. Im folgenden Beispiel berechnen wir damit die Summe zweier Matrizen.
Die Syntax von apply():
apply(x, margin, function)Die Argumente bedeuten:
x: Ein Array oder zweidimensionale Daten wie Matrizen.
margin: Gibt an, worauf die Funktion angewendet wird: c(1) für Zeilen, c(2) für Spalten, c(1,2) für beides.
function: Die in R eingebaute oder benutzerdefinierte Funktion, die auf die Daten angewendet wird.
Erstelle nun einen Vektor 'array1' der Länge drei und 'array2' der Länge sechs mit folgendem Code.
Unten siehst du, wie array() die beiden Vektoren 'array1' und 'array2' akzeptiert, ein Array mit 3 Zeilen, 3 Spalten und 2 Ebenen erstellt und es in 'my.Array' speichert.
Die Ausgabe zeigt zwei Matrizen im 3 × 3-Format (Zeilen × Spalten).
Mit 'apply()' berechnen wir nun die Spaltensummen über beide Matrizen.
Hierbei steht c(2) für die Spalten. Die Elemente in 'my.Array' werden spaltenweise aufsummiert, was zur folgenden Ausgabe führt.
Zum Schluss berechnen wir die Zeilensummen.
Hier steht c(1) für die Zeilen. Die Elemente in 'my.Array' werden zeilenweise aufsummiert, was die folgende Ausgabe ergibt.
Glückwunsch
Glückwunsch, du hast das Ende dieses Tutorials erreicht!
Du hast R-Arrays kennengelernt: deren Erstellung, das Indizieren mit Beispielen sowie das Erstellen und Addieren von Matrizen und den Einsatz der apply()-Funktion.
Wenn du mehr über R lernen möchtest, starte mit DataCamps Introduction to R-Kurs.
Referenzen:
R-Arrays
R Array Function and Create Array in R