【发布时间】:2018-12-24 11:44:17
【问题描述】:
我有一张要应用到各自列的函数图。
有没有类似映射的mutate_at 的东西?
my_map <-
data_frame(col = names(iris)[-5],
calc = rep(c("floor", "ceiling"), 2))
my_map
# A tibble: 4 x 2
col calc
<chr> <chr>
Sepal.Length floor
Sepal.Width ceiling
Petal.Length floor
Petal.Width ceiling
尝试失败:
tbl_df(iris) %>% mutate_at(vars(col_calcs$col), funs_(col_calcs$calc))
Sepal.Length Sepal.Width Petal.Length Petal.Width Species Sepal.Length_floor Sepal.Width_floor Petal.Length_floor Petal.Width_floor Sepal.Length_ceiling
<dbl> <dbl> <dbl> <dbl> <fct> <dbl> <dbl> <dbl> <dbl> <dbl>
5.1 3.5 1.4 0.2 setosa 5 3 1 0 6
4.9 3 1.4 0.2 setosa 4 3 1 0 5
期望的输出:
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
<dbl> <dbl> <dbl> <dbl> <fct>
5.0 4.0 1.0 1.0 setosa
4.0 3.0 1.0 1.0 setosa
最后,my_map$calc 可能有未知的功能可以应用。
例如)有人可以将最后一个“楼层”更改为“圆形”。
【问题讨论】:
-
您似乎根据您认为的最佳答案更改了您的问题,但这有点误导。如果这是原始标题,其他人可能不会首先提交他们的答案。
-
好点。我在标题问题中添加了 mutate_at() 。谢谢