Considere este código:
library(dplyr)
a = data.frame(a = 1:3)
abc = \(x) data.frame(x/2, x/3)
a %>%
mutate(abc(a))
que retorna
a x.2 x.3
1 1 0.5 0.3333333
2 2 1.0 0.6666667
3 3 1.5 1.0000000
mas não tenho controle sobre os nomes, pois quero atribuir outra coisa a eles.
abc
Uma maneira de resolver isso é nomear o tipo de retorno, mas isso não é o ideal, pois posso querer executar abc
em dois conjuntos de variáveis
a %>%
mutate(abc(a), abc(b))
A outra maneira é, claro, rename
depois de cada execução, abc
mas isso pode ser instável.
Existe alguma maneira de dar nomes à saída de abc
? por exemplo
a %>%
mutate(c("a1","a2") := abc(a), c("b1","b2") := abc(b))
Mas a :=
sintaxe acima não funcionou.