Quero criar uma função que tome como primeiro argumento o nome de um conjunto de dados e, como segundo argumento, parte do nome de uma coluna do dataframe. Quero então usar glue
para construir dinamicamente o nome da coluna, na função, e usar essa coluna em uma mutate
chamada, assim:
library(tidyverse)
tmp <-
function(data, type){
var <- glue::glue("Sepal.{type}")
iris |>
select({{var}}) |>
mutate("{var}" := mean({{var}}))
}
Eu tentei muitas coisas, mas tenho dificuldade em encontrar uma solução em que a coluna seja chamada tanto pelo nome da nova coluna (aqui, "{var}"
) quanto pelo cálculo da nova coluna (aqui, mean({{var}})
). O que se deve fazer nesses casos?
Aqui, a chamada tmp(iris, "Length")
deve retornar um 150x1
data.frame com o valor médio em todas as linhas.
tidyverse
solução são preferidas ou quaisquer respostas baseadas em pipe.