【问题标题】:R: relative frequency categorical data in ggplot2R:ggplot2中的相对频率分类数据
【发布时间】:2018-08-15 17:58:17
【问题描述】:

我在 Rstudio 工作。

使用 ggplot2,我试图形成一个图,其中我有一个分类变量的频率(购买的股票数量),每个类别(有 5 个类别)。 例如,A 类成员可能比 D 类成员更频繁地购买 1 股。

我现在有一个计数图。但是,由于一个类别比其他类别大得多,因此您无法很好地了解其他类别中的 n 个份额。

count plot的代码如下:

#ABS. DISTRIBUTION SHARES/CATEGORY
ggplot(dat, aes(x=Number_share, fill=category)) +
  geom_histogram(binwidth=.5, alpha=.5, position="dodge")

这会导致这个图表:https://imgur.com/a/e4k94

因此,我计划制作一个图,其中不是绝对计数,而是相对于其类别的分布。

我计算了每个类别的相对频率

library(MASS)
categories = dat$category
categories.freq = table(categories)
categories.relfreq = categories.freq / nrow(dat)
cbind(categories.relfreq)

categories.relfreq

博文特 1 0.002708692

博文特 2 0.015020931

E&B 0.037182960

生态动力 1 0.042107855

生态动力 2 0.029549372

生态动力 3 0.873183945

我不知道如何绘制股票数量获取频率相对于类别而不是绝对值的图。有人可以帮我解决这个问题吗?

【问题讨论】:

    标签: r ggplot2 frequency categorical-data


    【解决方案1】:

    我想你要找的是这个

    ggplot(dat, aes(x=Number_share, fill=category)) +
      geom_bar(position="fill")
    

    这会将类别堆叠在一起,position="fill" 参数将给出相对计数

    【讨论】:

    • 感谢您的帮助,但这不是我想要的。我不希望每个 n_share 类别加起来达到 100%。相反,我希望每个成员类别获得的股份总数加起来达到 100%。您的回答导致:ibb.co/dcgxTS 相反,我正在寻找这个绝对图的相对版本:imgur.com/a/e4k94
    【解决方案2】:

    我发现这个问题很相似:Histogram with weights in R 基本上这是因为直方图的默认值是使用 y 轴上的计数,而我想使用 hist(freq=TRUE),或者在 ggplot 的情况下:ggplot_histogram(y= ..density..)。

    【讨论】:

      猜你喜欢
      • 2021-03-16
      • 1970-01-01
      • 2020-01-29
      • 1970-01-01
      • 2014-01-11
      • 1970-01-01
      • 2019-10-17
      • 1970-01-01
      • 2016-06-06
      相关资源
      最近更新 更多