English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Arrays sind auch R-Objekte, R kann eindimensionale oder mehrdimensionale Arrays erstellen.
R-Sprach-Array ist eine Sammlung desselben Typs, das Matrix matrix, das wir gelernt haben, ist tatsächlich ein zweidimensionales Array.
Verhältnis von Vektor, Matrix und Array siehe Abbildung unten:
R-Sprach-Array wird mit dem array() Funktion erstellt, die Vektoren als Eingangsparameter verwendet und kann mit dim die Arraydimensionen festlegen.
array() Funktionssyntax ist wie folgt:
array(data = NA, dim = length(data), dimnames = NULL)
Parameterbeschreibung:
data Vektor, Array-Elemente.
dim Dimensionen des Arrays, standardmäßig ein-dimensional.
dimnames Dimensionenname, muss eine Liste sein, in der Regel werden keine Namen gesetzt.
Im folgenden Beispiel erstellen wir eine 3 Zeilen 3 Zweidimensionale Array der Spalten:
# Zwei Vektoren mit verschiedenen Längen erstellen vector1 <- c(5,9,3) vector2 <- c(10,11,12,13,14,15) # Array erstellen result <- array(c(vector1,vector2)3,3,2)) print(result)
Die Ausgabe des folgenden Codes ist:
, , 1 [,1]2]3] [1,] 5 10 13 [2,] 9 11 14 [3,] 3 12 15 , , 2 [,1]2]3] [1,] 5 10 13 [2,] 9 11 14 [3,] 3 12 15
Verwenden Sie den Parameter dimnames, um die Namen der Dimensionen zu setzen: :
# Zwei Vektoren mit verschiedenen Längen erstellen vector1 <- c(5,9,3) vector2 <- c(10,11,12,13,14,15) Spaltennamen <- c("COL1"COL2"COL3") row.names <- c("ROW1"ROW2"ROW3") matrix.names <- c("Matrix1"Matrix2") # Erstellen Sie ein Array und setzen Sie die Namen der Dimensionen result <- array(c(vector1,vector2)3,3,2),dimnames = list(row.names,column.names,matrix.names)) print(result)
Die Ausgabe des folgenden Codes ist:
, , Matrix1 COL1 COL2 COL3 ROW1 5 10 13 ROW2 9 11 14 ROW3 3 12 15 , , Matrix2 COL1 COL2 COL3 ROW1 5 10 13 ROW2 9 11 14 ROW3 3 12 15
Wenn Sie den Wert eines Array-Elements abrufen möchten, können Sie die Spalten- und Zeilenindizes verwenden, ähnlich einem Koordinatenformat.
# Zwei Vektoren mit verschiedenen Längen erstellen vector1 <- c(5,9,3) vector2 <- c(10,11,12,13,14,15) Spaltennamen <- c("COL1"COL2"COL3") row.names <- c("ROW1"ROW2"ROW3") matrix.names <- c("Matrix1"Matrix2") # Array erstellen result <- array(c(vector1,vector2)3,3,2),dimnames = list(row.names, column.names, matrix.names)) # Element der zweiten Matrix in der dritten Zeile anzeigen print(result[3,,2]) # Element der ersten Matrix im ersten Zeilen dritten Spalte anzeigen print(result[1,3,1]) # Zweite Matrix ausgeben print(result[,,2])
Die Ausgabe des folgenden Codes ist:
COL1 COL2 COL3 3 12 15 [1] 13 COL1 COL2 COL3 ROW1 5 10 13 ROW2 9 11 14 ROW3 3 12 15
Da das Array aus mehreren Dimensionen von Matrizen besteht, können wir durch den Zugriff auf die Elemente der Matrix auf die Elemente des Arrays zugreifen.
# Zwei Vektoren mit verschiedenen Längen erstellen vector1 <- c(5,9,3) vector2 <- c(10,11,12,13,14,15) # Array erstellen array1 <- array(c(vector1,vector2)3,3,2)) # Zwei Vektoren mit verschiedenen Längen erstellen vector3 <- c(9,1,0) vector4 <- c(6,0,11,3,14,1,2,6,9) array2 <- array(c(vector1,vector2)3,3,2)) # Matrix aus Array erstellen matrix1 <- array1[,,2] matrix2 <- array2[,,2] # Matrix addieren result <- matrix1+matrix2 print(result)
Die Ausgabe des folgenden Codes ist:
[,1]2]3] [1,] 10 20 26 [2,] 18 22 28 [3,] 6 24 30
Außerdem können wir apply() Elemente durch Querschnittsrechnung auf Arrayelementen durchführen, Syntax wie folgt:
apply(x, Kante, fun)
Parameterbeschreibung:
x Array
Kante Datenname
fun Berechnungsfunktion
Wir verwenden in diesem Beispiel die apply()-Funktion, um die Summe der Zahlen in jeder Zeile von zwei Matrizen im Array zu berechnen.
# Zwei Vektoren mit verschiedenen Längen erstellen vector1 <- c(5,9,3) vector2 <- c(10,11,12,13,14,15) # Array erstellen new.array <- array(c(vector1,vector2)3,3,2)) print(new.array) # Summe der Zahlen in der ersten Zeile aller Matrizen im Array berechnen result <- apply(new.array, c(1), sum) print(result)
Die Ausgabe des folgenden Codes ist:
, , 1 [,1]2]3] [1,] 5 10 13 [2,] 9 11 14 [3,] 3 12 15 , , 2 [,1]2]3] [1,] 5 10 13 [2,] 9 11 14 [3,] 3 12 15