小编bro*_*oti的帖子

当我在 vars() 中只传递一列时,为什么 mutate_at 不会为新列创建不同的名称?

我注意到mutate_at. 假设我有一个数据框和一个要改变的列列表,例如:

df1 <- data_frame(var1 = c(1,2,3,4,5,6),
                  var2 = c(1,1,1,2,2,2),
                  var3 = c(10,30,50,70,90,110))
variables <- c("var1", "var2")
Run Code Online (Sandbox Code Playgroud)

我现在申请mutate_at创建variables. 通过在 中指定“cat” list,我确保保留旧版本,并且新版本具有旧版本的名称加上“_cat”:

df1 %>% mutate_at(vars(variables), .funs = list(cat = as.factor))
# A tibble: 6 x 5
   var1  var2  var3 var1_cat var2_cat
  <dbl> <dbl> <dbl> <fct>    <fct>   
1     1     1    10 1        1       
2     2     1    30 2        1       
3     3     1    50 3        1       
4     4     2    70 4        2       
5     5     2    90 …
Run Code Online (Sandbox Code Playgroud)

r dataframe dplyr

3
推荐指数
1
解决办法
230
查看次数

标签 统计

dataframe ×1

dplyr ×1

r ×1