如何在 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 中按行号过滤

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注