Dplyr group_modify и анонимные функции - PullRequest
1 голос
/ 13 апреля 2020

Пожалуйста, посмотрите на код ниже, где у меня есть фрейм данных, который я группирую, и затем я добавляю несколько сводных статистических данных (я изменил некоторые примеры, которые я нашел в Интернете). Он работает и опирается на интерфейс формулы для указания анонимной функции, но всякий раз, когда я пытался переписать его как

function (x) bind_rows (x, ...)

, я получаю ошибка, потому что я не указываю по крайней мере два аргумента. Я просто хочу убедиться, что могу написать это обоими способами (с и без обозначения "~"). Кто-нибудь может мне помочь и вычислить df_out с помощью анонимной функции без интерфейса формулы?

Спасибо!

Создано в 2020-04-12

представ пакет (v0.3.0)

1 Ответ

1 голос
/ 13 апреля 2020

Если нам нужно обычное function(x, y), так как .f в group_modify указывает

.f - если функция, она используется как есть. У него должно быть как минимум 2 формальных аргумента.

library(dplyr)
df1 %>% 
  group_by(month, days_in_month) %>% 
  group_modify(function(x, y) bind_rows(x,
        tibble(person = "Mean", total = mean(x$total)), 
        tibble(person = "Mean2",
               total = mean(x$total[x$total>10])))   ) %>%
   ungroup
...