So erstellen sie eine verschachtelte for-schleife in r (einschließlich beispielen)


Mit einer verschachtelten for-Schleife können Sie Elemente in mehreren Vektoren (oder mehreren Dimensionen einer Matrix) durchlaufen und bestimmte Operationen ausführen.

Die Grundstruktur einer for-Schleife in R ist:

 for (i in 1:4) {
  print (i)
}

[1] 1
[1] 2
[1] 3
[1] 4

Und die Grundstruktur einer verschachtelten for-Schleife ist:

 for (i in 1:4) {
  for (j in 1:2) {
    print (i*j)
  }
}

[1] 1
[1] 2
[1] 2
[1] 4
[1] 3
[1] 6
[1] 4
[1] 8

Dieses Tutorial zeigt einige Beispiele für die Erstellung verschachtelter For-Schleifen in R.

Beispiel 1: Verschachtelte For-Schleife in R

Der folgende Code zeigt, wie man eine verschachtelte for-Schleife verwendet, um die Werte einer 4×4-Matrix zu füllen:

 #create matrix
empty_mat <- matrix(nrow= 4 , ncol= 4 )

#view empty matrix
empty_mat
     [,1] [,2] [,3] [,4]
[1,] NA NA NA NA
[2,] NA NA NA NA
[3,] NA NA NA NA
[4,] NA NA NA NA

#use nested for loop to fill in values of matrix
for (i in 1:4) {
  for (j in 1:4) {
    empty_mat[i, j] = (i*j)
  }
}

#view matrix
empty_mat

     [,1] [,2] [,3] [,4]
[1,] 1 2 3 4
[2,] 2 4 6 8
[3,] 3 6 9 12
[4,] 4 8 12 16

Beispiel 2: Verschachtelte For-Schleife in R

Der folgende Code zeigt, wie Sie eine verschachtelte for-Schleife verwenden, um jeden Wert in einem Datenrahmen zu quadrieren:

 #create empty data frame
df <- data.frame(var1=c(1, 7, 4),
                 var2=c(9, 13, 15))

#view empty data frame
df

  var1 var2
1 1 9
2 7 13
3 4 15

#use nested for loop to square each value in the data frame
for (i in 1:nrow(df)) {
  for (j in 1:ncol(df)) {
    df[i, j] = df[i, j]^2
  }
}

#view new data frame
df

  var1 var2
1 1 81
2 49 169
3 16 225

Ein Hinweis zum Looping

Im Allgemeinen funktionieren verschachtelte for-Schleifen gut bei kleinen Datensätzen oder Matrizen, bei größeren Daten sind sie jedoch tendenziell recht langsam.

Bei großen Datenmengen ist die Funktionsfamilie der Anwendung tendenziell viel schneller, und das Paket data.table verfügt über viele integrierte Funktionen, die bei größeren Datensätzen effizient arbeiten.

Zusätzliche Ressourcen

So iterieren Sie über Spaltennamen in R
So fügen Sie Zeilen zu einem Datenrahmen in R hinzu

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert