Рассматриваемая проблема заключается в применении функции f к каждой группе тиббла. Это более простой способ сделать это, но я бы хотел решить проблему с помощью функции group_map()
.
Используемые данные : звездные войны пакета dplyr .
Мне нужно получить среднее значение переменной высота для сгруппированного тиббла, учитывая переменные пол и виды . Я знаю, что проблему легко решить, выполнив:
starwars %>% group_by(gender, species) %>%
summarise(mean = mean(height, na.rm = TRUE))
Однако я хочу реализовать функцию summarise(mean = mean(height, na.rm = TRUE))
и отправить ее на group_map()
.
Я пытался создать функцию f()
, которая получает аргумент data
, который является объектом tibble с ранее определенными группами. Вторым аргументом функции f()
будет ...
, чтобы я мог передать интересующие переменные от data
до f()
.
f <- function(dados, ...){
dados %>% summarise(mean = mean(..., na.rm = TRUE))
}
starwars %>% group_by(gender, species) %>%
group_map(.tbl = ., .f = ~f(dados = .x), height)