Как перебрать имена столбцов в R (с примерами)


Часто вы можете захотеть перебрать имена столбцов фрейма данных в R и выполнить некоторую операцию над каждым столбцом. Есть два распространенных способа сделать это:

Способ 1: используйте цикл for

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

Способ 2: использовать sapply()

sapply(df, some operation )

В этом руководстве показан пример использования каждого из этих методов на практике.

Способ 1: используйте цикл for

В следующем коде показано, как пройтись по именам столбцов фрейма данных с помощью цикла for и вывести среднее значение каждого столбца:

#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

Способ 2: использовать sapply()

В следующем коде показано, как пройтись по именам столбцов фрейма данных с помощью sapply() и вывести среднее значение каждого столбца:

#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 

Обратите внимание, что оба метода возвращают идентичные результаты.

Связанный: Руководство по apply(), lapply(), sapply() и tapply() в R

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.