我在 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
我不知道如何制作一个图表,其中股票获取的频率相对于类别,而不是绝对的。有人可以帮我吗?
答案 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>