【问题标题】:How to plot the amount of basket sizes in each day?如何绘制每天篮子大小的数量?
【发布时间】:2017-03-26 16:57:43
【问题描述】:

这是我数据的前 50 条记录:

structure(list(Day = structure(c(2L, 2L, 5L, 7L, 7L, 6L, 1L, 3L, 7L, 3L, 7L, 5L, 5L, 3L, 7L, 1L, 1L, 3L, 6L, 2L, 6L, 2L, 3L, 4L, 7L, 6L, 3L, 7L, 6L, 7L, 2L, 6L, 7L, 7L, 2L, 3L, 6L, 4L, 3L, 2L, 5L, 6L, 7L, 7L, 3L, 6L, 3L, 4L, 6L, 4L), .Label = c("1", "2", "3", "4", "5", "6", "7"), class = "factor"), BASKET_SIZE = structure(c(1L, 3L, 3L, 2L, 3L, 2L, 2L, 2L, 2L, 1L, 2L, 3L, 1L, 2L, 2L, 1L, 1L, 2L, 2L, 1L, 2L, 1L, 2L, 1L, 1L, 3L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 3L, 3L, 1L, 1L, 2L, 1L, 2L, 1L, 2L, 2L, 1L, 2L, 3L, 1L), .Label = c("L", "M", "S"), class = "factor")), .Names = c("Day", "BASKET_SIZE"), row.names = c(NA, 50L), class = "data.frame")

基本上我有 3 种篮子尺寸(S、M、L)和一周中的 7 天(1-7)。我用plot(e) 绘制了数据,这给了我这个:

所以如果我想知道每天的篮子尺寸分布,这会很好,但我更感兴趣的是每天每个篮子尺寸的总量。


这是我尝试过的: barchart(Day~BASKET_SIZE,data=e,groups=BASKET_SIZE) 基于这篇文章:Simplest way to do grouped barplot。但我似乎无法获得正确的轴或分布:

另外,我希望它是垂直的,比如每个篮子尺寸的总和,并有一个图例显示每个篮子尺寸的颜色。我拥有的这张图表似乎以某种方式将我的 S、M、L 转换为数字......我知道这是不对的,因为我有 3.8k 行数据。

【问题讨论】:

    标签: r


    【解决方案1】:

    怎么样

    tt  <- t(table(dd))
    barplot(as.matrix(tt),beside=TRUE)
    

    ?

    您必须手动添加图例 (?legend)。

    您也可以使用ggplot2 执行此操作,例如

    library(ggplot2)
    ggplot(dd,aes(Day,fill=BASKET_SIZE))+
        geom_bar(position="dodge")
    

    ggplot 会自动为您提供图例。这里的示例有一些空类别(例如第 1 天没有大篮子);如果你想正确处理这种情况,看起来你必须pre-tabulate the data(但如果你的真实数据集很大,那可能不是问题)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-15
      • 1970-01-01
      • 2021-01-27
      • 2020-05-06
      • 2019-05-07
      • 2021-03-22
      • 2023-03-13
      • 1970-01-01
      相关资源
      最近更新 更多