首页 > 解决方案 > 如何按年份绘制电影类型发行的细分

问题描述

我想制作一个堆积面积图,显示每年发行的电影类型的比例。努力正确地处理数据(希望一旦我了解如何正确格式化数据,我就可以制作图表)。我如何做到这一点,以便我拥有每年每种类型的发行数量?

我的数据框应该显示年份,然后 x 数量的发行是戏剧,y 数量是神秘的,等等。

为简单起见,我已过滤以找到最常见的类型,但此处的过滤器未按预期运行。

过滤变量后,我不确定下一步该去哪里。

努力将这些步骤概念化,但希望这足够清楚......在此先感谢您的帮助。

library(readr)
library(lubridate)
library(dplyr)

ratings <- read_csv("https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2019/2019-01-08/IMDb_Economist_tv_ratings.csv")
ratings$year_rel <-year(ratings$date)


ratings %>%
  count(genres) %>%
  arrange(desc(n)) %>%
  filter(n > 100)

desired_genres <- c("Comedy, Drama", "Drama", "Action, Crime, Drama", "Action, Adventure, Drama", "Crime", "Drama")

ratings %>%
  select(genres, year_rel) %>%
  filter(genres %in% desired_genres) #this only shows the drama genre

#Unsure where to go from here so as to break down the releases by genre.

标签: r

解决方案


看来你快到了。您的过滤器未按预期运行,因为在数据中,流派列没有空格,而您的desired_genres向量确实有空格。无需重新输入您看到的内容,而是通过以编程方式提取所需的类型、使用pull(genres)到管道的末尾并将结果分配给您的desired_genres向量来避免错误。

然后添加一个group_by和一个add_count

library(readr)
library(lubridate)
library(dplyr)

ratings <- read_csv("https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2019/2019-01-08/IMDb_Economist_tv_ratings.csv")
ratings$year_rel <-year(ratings$date)


desired_genres <- ratings %>%
  count(genres) %>%
  arrange(desc(n)) %>%
  filter(n > 100) %>%
  pull(genres)

filtered_rating <- ratings %>%
  select(genres, year_rel) %>%
  filter(genres %in% desired_genres) %>%
  group_by(year_rel) %>%
  add_count(genres)

推荐阅读