Kolomnamen doorlopen in r (met voorbeelden)
Vaak wilt u wellicht de kolomnamen van een dataframe in R doorlopen en bepaalde bewerkingen op elke kolom uitvoeren. Er zijn twee veel voorkomende manieren om dit te doen:
Methode 1: Gebruik een For-lus
for (i in colnames(df)){ some operation }
Methode 2: Gebruik sapply()
sapply(df, some operation )
Deze tutorial toont een voorbeeld van hoe u elk van deze methoden in de praktijk kunt gebruiken.
Methode 1: Gebruik een For-lus
De volgende code laat zien hoe u door de kolomnamen van een dataframe kunt bladeren met behulp van een for-lus en hoe u de gemiddelde waarde van elke kolom kunt weergeven:
#create data frame 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)) #view data frame 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 #loop through each column and print mean of column for (i in colnames(df)){ print( mean (df[[i]])) } [1] 3.2 [1] 5.4 [1] 5.2 [1] 4.2
Methode 2: Gebruik sapply()
De volgende code laat zien hoe u de kolomnamen van een dataframe kunt doorlopen met behulp van sapply() en de gemiddelde waarde van elke kolom kunt weergeven:
#create data frame 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)) #view data frame 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 #loop through each column and print mean of column sapply(df, mean ) var1 var2 var3 var4 3.2 5.4 5.2 4.2
Houd er rekening mee dat beide methoden identieke resultaten opleveren.
Gerelateerd: een handleiding voor apply(), lapply(), sapply() en tapply() in R