【问题标题】:Line chart in ggplot using longitudinal panel dataggplot中使用纵向面板数据的折线图
【发布时间】:2020-04-23 15:50:41
【问题描述】:

我有纵向面板数据集,其中包含有关某人在某年居住的地方、他的职业以及指示此人是否搬家的虚拟变量的信息。

现在我正在尝试在 ggplot 中创建一个折线图,以可视化这些移动如何随时间波动。我想计算每年移动的比例。但是,我不确定如何按年份对所有个人进行分组,并且还包括指示某人是否搬家的假人。另外,我想看看这些移动波动在不同职业之间有何不同。

数据集如下所示:

df <- tibble(id = rep(1:5, each = 5),
             year = rep(2010:2014, 5),
             moved = c(1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1),
             occupation = c('carpenter','carpenter', 'carpenter', 'carpenter', 'carpenter', 'cleaner',
                            'cleaner', 'cleaner', 'cleaner', 'cleaner', 'mechanic', 'mechanic',
                            'mechanic', 'mechanic', 'mechanic', 'carpenter', 'carpenter', 'carpenter',
                            'carpenter', 'carpenter', 'cleaner', 'mechanic', 'carpenter', 'cleaner',
                            'cleaner'))

不胜感激!

【问题讨论】:

    标签: r ggplot2 dplyr


    【解决方案1】:

    也许是这样的?因此,您通过将职业指定为颜色来对职业进行分组,然后在每个点上,您使用 stat_summary 来计算比例(平均值),并使用一条线将它们连接起来:

    ggplot(df,aes(x=year,y=moved,col=occupation)) + 
    stat_summary(fun=mean,geom="point") + 
    stat_summary(fun=mean,geom="line",alpha=0.7,linetype="dashed")
    

    【讨论】:

      猜你喜欢
      • 2021-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-06
      • 1970-01-01
      • 1970-01-01
      • 2019-05-24
      • 2022-01-12
      相关资源
      最近更新 更多