Вы можете использовать функцию 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