如何在 r 中使用 dplyr transmute 函数(附示例)
您可以使用 R 中的transmute()函数将新的计算变量添加到数据框中并删除任何现有变量。
该函数使用以下基本语法:
df %>% transmute(var_new = var1 * 2)
在此示例中,将通过将名为var1的现有变量乘以 2 来创建名为var_new的新变量。
以下示例展示了如何在 R 中将transmute()函数与以下数据帧一起使用:
#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
Point2值等于点列的原始值乘以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
transmute()的结果现在存储在新的数据框中。
示例 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 中执行其他常见操作:
如何在 dplyr 中使用 relocate() 函数
如何在 dplyr 中使用 slice() 函数
如何在 dplyr 中按行号过滤