【问题标题】:How to Visualize The frequency of a categorical variable in R如何可视化 R 中分类变量的频率
【发布时间】:2020-06-01 01:10:09
【问题描述】:

我的数据框中有 2 个变量,我正在尝试使用 ggplot 来绘制图形。在 x 轴上,我想要具有每日频率的日期。在 y 轴上,我想要在给定日期显示的唯一名称的计数。

变量在数据框中看起来像这样。

     Date           Name

1   2016-03-01      Joe
2   2016-03-01      Joe
3   2016-03-01      Joe 
4   2016-03-01      Mark
5   2016-03-01      Sue
6   2016-03-02      Mark    
7   2016-03-02      Joe
8   2016-03-03      Joe
9   2016-03-03      Joe
10  2016-03-03      Bill

因此,第一天 y 轴上的频率将显示为 3,第二天为 2,第三天为 2。

我的问题是如何生成该图表。

【问题讨论】:

    标签: r ggplot2


    【解决方案1】:

    计算每个Date 的唯一Name 数量,然后使用geom_bar/geom_col 进行绘图。

    library(dplyr)
    library(ggplot2)
    df %>%
      group_by(Date) %>%
      summarise(n = n_distinct(Name)) %>%
      ggplot()  + geom_col(aes(Date, n))
      #ggplot() + geom_bar(aes(Date, n), stat = "identity")
    

    数据

    df <- structure(list(Date = c("2016-03-01", "2016-03-01", "2016-03-01", 
    "2016-03-01", "2016-03-01", "2016-03-02", "2016-03-02", "2016-03-03", 
    "2016-03-03", "2016-03-03"), Name = c("Joe", "Joe", "Joe", "Mark", 
    "Sue", "Mark", "Joe", "Joe", "Joe", "Bill")), class = "data.frame",
     row.names = c(NA, -10L))
    

    【讨论】:

      猜你喜欢
      • 2018-05-04
      • 1970-01-01
      • 2021-12-10
      • 1970-01-01
      • 1970-01-01
      • 2022-01-25
      • 2021-01-04
      • 2016-11-21
      • 2020-05-30
      相关资源
      最近更新 更多