Mit einer verschachtelten For-Schleife können Sie Elemente in mehreren Vektoren (oder mehreren Dimensionen einer Matrix) durchlaufen und einige 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

Die Grundstruktur einer verschachtelten For-Schleife lautet:

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 zum Erstellen verschachtelter For-Schleifen in R.

Beispiel 1: Verschachtelte For-Schleife in R

Der folgende Code zeigt, wie Sie eine verschachtelte For-Schleife verwenden, um die Werte einer 4 × 4-Matrix einzugeben:

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

#leere Matrix anzeigen
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

# Verwenden Sie eine verschachtelte For-Schleife, um die Werte der Matrix einzugeben
for(i in 1:4) {
  for(j in 1:4) {
    empty_mat[i, j] = (i*j)
  }
}

# Matrix anzeigen
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 eine verschachtelte For-Schleife verwendet wird, um jeden Wert in einem Dataframe zu quadrieren:

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

#Leeres Dataframe anzeigen
df

  var1 var2
1    1    9
2    7   13
3    4   15

#Verwenden Sie eine verschachtelte For-Schleife, um jeden Wert im Dataframe zu quadrieren
for(i in 1:nrow(df)) {
  for(j in 1:ncol(df)) {
    df[i, j] = df[i,j]^2
  }
}

#Neues Dataframe anzeigen
df

  var1 var2
1    1   81
2   49  169
3   16  225

Ein Hinweis zum Looping

Im Allgemeinen funktionieren verschachtelte For-Schleifen bei kleinen Datensätzen oder Matrizen einwandfrei, bei größeren Daten sind sie jedoch eher langsam.

Bei Big Data ist die Familie der apply-Funktionen in der Regel viel schneller, und das data.table-Paket verfügt über viele integrierte Funktionen, die bei größeren Datenmengen effizient ausgeführt werden können.

Zusätzliche Ressourcen

So durchlaufen Sie Spaltennamen in R
So hängen Sie Zeilen an ein Dataframe in R

Statistik: Der Weg zur Datenanalyse

* Amazon Affiliate Link


Das könnte Sie auch interessieren: