Как использовать функцию преобразования dplyr в R (с примерами)


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

Эта функция использует следующий базовый синтаксис:

df %>% transmute(var_new = var1 \* 2)

В этом примере новая переменная с именем var_new будет создана путем умножения существующей переменной с именем var1 на 2.

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

#create data frame
df <- data.frame(team=c('A', 'B', 'C', 'D', 'E'),
 points=c(99, 90, 86, 88, 95),
 assists=c(33, 28, 31, 39, 34),
 rebounds=c(30, 28, 24, 24, 28))

#view data frame
df

 team points assists rebounds
1 A 99 33 30
2 B 90 28 28
3 C 86 31 24
4 D 88 39 24
5 E 95 34 28

Пример 1. Используйте функцию transmute() для создания одной новой переменной

В следующем коде показано, как использовать функцию transmute() для создания одной новой переменной:

library(dplyr)

#create new variable called points2
df %>% transmute(points2 = points \* 2)

 points2
1 198
2 180
3 172
4 176
5 190

Значения точек2 равны исходным значениям в столбце точек, умноженным на два.

Обратите внимание, что функция transmute() на самом деле не изменяет исходный фрейм данных.

Чтобы сохранить результаты функции transmute() в новом фрейме данных, вы должны сохранить их в переменной:

library(dplyr)

#store results of transmute in variable
df_points2 <- df %>% transmute(points2 = points \* 2)

#view results
df_points2

 points2
1 198
2 180
3 172
4 176
5 190

Результаты преобразования() теперь сохраняются в новом фрейме данных.

Пример 2. Используйте функцию transmute() для создания нескольких новых переменных.

В следующем коде показано, как использовать функцию transmute() для создания нескольких новых переменных из существующих:

library(dplyr)

#create multiple new variables
df %>%
 transmute(
 points2 = points \* 2,
 rebounds_squared = rebounds^2,
 assists_half = assists / 2,
 team_name= paste0('team_', team)
)

 points2 rebounds_squared assists_half team_name
1 198 900 16.5 team_A
2 180 784 14.0 team_B
3 172 576 15.5 team_C
4 176 576 19.5 team_D
5 190 784 17.0 team_E

Обратите внимание, что были созданы четыре новые переменные.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные операции в R:

Как использовать функцию relocate() в dplyr
Как использовать функцию slice() в dplyr
Как фильтровать по номеру строки в dplyr

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