为变量中的所有值创建单独的图

Create individual plots for all values in a variable

我的数据集有 3 列:高中名称、年份和大学入学率,它包括 8 年的 104 所高中。

学校 chrt_grad 已注册
阿尔巴 2012 0.486
阿尔巴 2013 0.593
阿尔巴 2014 0.588
阿尔巴 2015 0.588
阿尔巴 2016 0.547
阿尔巴 2017 0.613
阿尔巴 2018 0.622
阿尔巴 2019 0.599
阿尔巴 2020 0.614
城市 2012 0.588
城市 2013 0.613

等等...

我正在尝试制作 104 个单独的线图 - 每所学校一个。我首先创建了一个显示每所学校的单线图:

ggplot(nsc_enroll,
         mapping = aes(x = chrt_grad, y = enrolled, group = school)) +
  geom_line() +
  geom_point()

如何为 104 所学校中的每所学校创建单独的地块,而不必一遍又一遍地筛选每个学校名称?

首先,我想你写 chrt_grad 的地方和年份一样,或者你有另一个变量? 无论如何,这不是重点。 如您所知,+facet 可以绘制多个图,但据我所知不能单独绘制。 我有类似的情况,我会做的,至少对我有用,是:

  1. 传播(如果你知道gather/spread)变量学校
  2. 用于绘制每一列的循环。

我现在不在家,如果你需要的话,我可以发短信给你。

最近我看到一些新的 dplyr tidyverse 代码使用 nest_by。很有意思,虽然我还没试过。

您可以将 facet_wrapggplot

一起使用
ggplot(mtcars, aes(x = hp, y = mpg))+
        geom_point() +
        facet_wrap(~cyl)

在你的情况下你会facet_wrap(~school),但它会产生大量的情节。