English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

R-Array

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

Zugriff auf Array-Elemente

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

Arrayelementoperation

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