Durchlaufen von Spaltennamen in R (mit Beispielen)

Von Fabian
Kategorie: R
Tags: Operationen
Lesezeit: 2 Minuten

Oft möchten Sie möglicherweise die Spaltennamen eines Dataframes in R durchlaufen und eine Operation für jede Spalte ausführen. Es gibt zwei Möglichkeiten, dies zu tun:

Methode 1: Verwenden Sie eine for-Schleife

for (i in colnames(df)){
   some operation
}

Methode 2: Verwenden Sie sapply()

sapply(df, some operation)

Dieses Tutorial zeigt ein Beispiel für die praktische Anwendung dieser Methoden.

Methode 1: Verwenden Sie eine For-Schleife

Der folgende Code zeigt, wie Sie die Spaltennamen eines Dataframes mit einer for-Schleife durchlaufen und den Mittelwert jeder Spalte ausgeben:

#Dataframe erstellen
df <- data.frame(var1=c(1, 3, 3, 4, 5),
                 var2=c(7, 7, 8, 3, 2),
                 var3=c(3, 3, 6, 6, 8),
                 var4=c(1, 1, 2, 8, 9))

#Dataframe anzeigen
df

  var1 var2 var3 var4
1    1    7    3    1
2    3    7    3    1
3    3    8    6    2
4    4    3    6    8
5    5    2    8    9

#Durchlaufen Sie jede Spalte und geben Sie den Mittelwert der Spalte aus
for (i in colnames(df)){
    print(mean(df[[i]]))
}

[1] 3.2
[1] 5.4
[1] 5.2
[1] 4.2

Methode 2: Verwenden Sie sapply()

Der folgende Code zeigt, wie Sie mit sapply() die Spaltennamen eines Dataframes durchlaufen und den Mittelwert jeder Spalte ausgeben:

#Dataframe erstellen
df <- data.frame(var1=c(1, 3, 3, 4, 5),
                 var2=c(7, 7, 8, 3, 2),
                 var3=c(3, 3, 6, 6, 8),
                 var4=c(1, 1, 2, 8, 9))

#Dataframe anzeigen
df

  var1 var2 var3 var4
1    1    7    3    1
2    3    7    3    1
3    3    8    6    2
4    4    3    6    8
5    5    2    8    9

#Durchlaufen Sie jede Spalte und geben Sie den Mittelwert der Spalte aus
sapply(df, mean)

var1 var2 var3 var4 
 3.2  5.4  5.2  4.2 

Beachten Sie, dass die beiden Methoden identische Ergebnisse zurückgeben.

Verwandt: Eine Anleitung für apply(), lapply(), sapply() und tapply() in R

Statistik: Der Weg zur Datenanalyse

* Amazon Affiliate Link


Das könnte Sie auch interessieren: