r для упражнения по науке о данных 5.6.7 Q4 - PullRequest
0 голосов
/ 15 мая 2018

Я работаю через r4ds Хэдли. Я хотел бы знать, почему решение, которое я нашел, требует изменения в коде. Можно ли просто использовать суммирование? Я думал, что они были взаимозаменяемыми?

Q4: Посмотрите на количество отмененных рейсов в день. Есть ли шаблон? Связана ли доля отмененных рейсов со средней задержкой?

cancelled_delayed <- 
  flights %>%
  mutate(cancelled = (is.na(arr_delay) | is.na(dep_delay))) %>%
  group_by(year, month, day) %>%
  summarise(prop_cancelled = mean(cancelled),
        avg_dep_delay = mean(dep_delay, na.rm = TRUE))

ggplot(cancelled_delayed, aes(x = avg_dep_delay, prop_cancelled)) +
  geom_point() +
  geom_smooth()

1 Ответ

0 голосов
/ 15 мая 2018

Вы можете пропустить mutate и сделать то же самое в суммировании:

library(dplyr)
cancelled_delayed <- 
  flights %>%
  group_by(year, month, day) %>%
  summarise(prop_cancelled = mean(is.na(arr_delay) | is.na(dep_delay)),
            avg_dep_delay = mean(dep_delay, na.rm = TRUE))

Но мутирование и суммирование вовсе не взаимозаменяемы.

mutate используется для добавления обновления oderодин или несколько столбцов в существующей таблице, сохраняя общую структуру (количество строк) такой же, какой она была.summarise, с другой стороны, уменьшает количество строк до 1 строки на группу, т.е. в вашем примере 1 строка на комбинацию год-месяц-день.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...