为什么我的条形图的所有频率都为 1?

Why does my bar chart have all frequencies at 1?

我正在制作用 ggplot2 制作的条形图。

table如下:

general_status  size       Freq
 <fctr>         <fctr>     <dbl>
Active          Large      0.0023858634     
Failed          Large      0.0003226497     
Active          Medium     0.0137466194     
Failed          Medium     0.0033334651     
Active          Micro      0.5623731202     
Failed          Micro      0.3130003976     
Active          Small      0.0850353345     
Failed          Small      0.0198025500 

为了制作图表,我使用了代码:

g <- ggplot(freqtable, aes(size))
g + geom_bar(aes(fill=general_status), width = 0.5) + 
  theme(axis.text.x = element_text(angle=65, vjust=0.6)) +
  labs(title="Size distribution", y = "Frequence", x = "Company size") +
  facet_grid(~ general_status) +
  theme_bw()

我的问题是:如何绘制正确的频率? 我的代码哪里出错了?

geom_bar 不只是直接绘制数据;它首先 计数 您 table 中的事件(它计算计数统计数据)。由于每个 general_status 事件恰好发生一次(一行),所有频率均为 1。

使用 geom_col 而不是 geom_bar,或者传递 stat = 'identity' 来解决这个问题:这两个都将绘制指定的值(您需要指定 y = Freqaes) 而不是计算自己的统计数据。