首页 > 解决方案 > 使用过滤器在 R 中制作条形图

问题描述

我还是 R 和 Stackoverflow 的新手,正在寻求帮助。我的任务是关于世界杯。我想制作一个条形图,在 x 轴上显示国家名称的缩写,在 y 轴上显示他们体育场的上座率。我使用下面的代码并获得了一个图表,我将其作为图像附加,以查看我所做的。问题是 x 轴显示了数据框中的所有国家,我只想要大约 10 个选定的国家。有什么我想念的,我能做什么。谢谢

代码:

   WorldCupMatches %>% 
 ggplot(aes(x = Home.Team.Initials, y = Attendance)) +
 geom_col()

我的图表

标签: rdataframeggplot2filter

解决方案


OP,您可以在输入ggplot(...). 有几种方法可以做到这一点,但我发现使用dplyr::filter()函数是最简单的方法之一。您可以指定仅在数据框中包含满足特定条件的行:

WorldCupMatches %>% 
dplyr::filter(Home.Team.Initials %in% c(...) ) %>%
 ggplot(aes(x = Home.Team.Initials, y = Attendance)) +
 geom_col()

只需指定c(...)要在图中显示的主队首字母的向量即可。


推荐阅读