R:ggplot2

时间:2018-03-07 15:10:24

标签: r ggplot2 frequency relative categorical-data

我在 Rstudio 工作。

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

我现在有一个计数图。但是,因为一个类别比其他类别大得多,所以你不了解其他类别的n股。

计数图的代码如下:

#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

     

Beauvent 1 0.002708692

     

Beauvent 2 0.015020931

     

E& B 0.037182960

     

Ecopower 1 0.042107855

     

Ecopower 2 0.029549372

     

Ecopower 3 0.873183945

我不知道如何制作一个图表,其中股票获取的频率相对于类别,而不是绝对的。有人可以帮我吗?

2 个答案:

答案 0 :(得分:0)

我认为你在寻找的是

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

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

答案 1 :(得分:0)

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