我注意到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)