Я хочу построить график, используя базу данных imdb_csv. Я хочу посмотреть, как с годами менялись imdb_ratings для анимационных фильмов, но у меня проблема с группировкой фильмов по годам. Мне как-то удалось заставить функцию group_by работать, но только если я запустил уже новый pipe в функции. Если я выполнял группировку по годам в функции конвейера, где я отфильтровал некоторые результаты (в первом фрагменте), то я получил ошибку «Анимация не найдена». Но проблема со вторым блоком состоит в том, что, хотя я применил функцию выбора, я получаю только два столбца, год и средний рейтинг за год. Также странно то, что на консоли строка summarise(mean(as.numeric(imdbRating)))
всегда показана ниже любой строки, которую я выполняю.
Код:
imdb_ratings <- imdb_ratings %>% filter(Animation == 1 & !str_detect(title, "\\\\$")) %>%
extract(title, c("title", "year"),
"^(.*?)(?:\\s*\\([^()]*?(\\d{4})[^()]*\\))?$")
imdb_ratings <- imdb_ratings %>% select(title, imdbRating, year) %>%
group_by(year) %>%
mutate(n = n()) %>%
summarise(mean(as.numeric(imdbRating)))
Это результат, который я получаю :
dput:
structure(list(year = c(1930, 1933, 1934, 1937, 1938, 1939, 1940,
1942, 1943, 1944, 1946, 1947, 1949, 1950, 1951), `mean(as.numeric(imdbRating))` = c(55,
53, 58, 74, 67, 65.5, 74, 62.66667, 68.5, 63, 66.25, 65, 72,
69.5, 71)), row.names = c(NA, -15L), class = c("tbl_df", "tbl",
"data.frame"))
Я не понимаю, почему, даже если я выбрал title, imdbRating, он показывает только итоги и год. Также как я могу переименовать функцию суммирования?