r - 如何按年份绘制电影类型发行的细分
问题描述
我想制作一个堆积面积图,显示每年发行的电影类型的比例。努力正确地处理数据(希望一旦我了解如何正确格式化数据,我就可以制作图表)。我如何做到这一点,以便我拥有每年每种类型的发行数量?
我的数据框应该显示年份,然后 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.
解决方案
看来你快到了。您的过滤器未按预期运行,因为在数据中,流派列没有空格,而您的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)
推荐阅读
- php - 我将新脚本上传到托管,但网站无法正常工作主要错误 ERR_too_many_redirects
- vba - 在excel中使用concatenateif时如何忽略重复值?
- android - 使用协调器布局在 ExpandableListView 中滚动
- c# - asp:hyperLink NavigateURL 和双引号字符错误
- overlay - hazelcast 如何在 Docker Swarm 中获取覆盖网络 ip
- laravel-5.6 - 编辑模式下的图像字段仍然要求将图像作为“必填”字段
- java - 休眠 - 映射:无法确定 # 的类型,在表中:#,对于列:#
- java - Joda Time - difference in "complete" months between two dates
- mysql - 通过数据透视表检查数据库中是否存在关系
- r - R数据框中先前连续出现