Я хотел бы создать функцию, которая работает внутри mutate
.В качестве простого примера я могу заставить это работать:
library(tidyverse)
# Toy Data
df <- tibble::tribble(
~id, ~first_name, ~gender, ~height,
1, "john", "m", 71,
2, "jane", "f", 64,
3, "sally", "f", 65
)
double_it <- function(df, x) {
x <- enquo(x)
pull(df, !!x) * 2
}
df %>% mutate(height_2 = double_it(., height))
# A tibble: 3 x 5
id first_name gender height height_2
<dbl> <chr> <chr> <dbl> <dbl>
1 1 john m 71 142
2 2 jane f 64 128
3 3 sally f 65 130
Но я хотел бы получить следующее:
double_it <- function(x) {
???
}
df1 %>% mutate(height_2 = double_it(height))
# A tibble: 3 x 5
id first_name gender height height_2
<dbl> <chr> <chr> <dbl> <dbl>
1 1 john m 71 142
2 2 jane f 64 128
3 3 sally f 65 130