与ggplot2成组的条形图geom_bar正在绘制比例而不是计数

时间:2019-04-16 09:49:39

标签: r ggplot2 geom-bar

我正在尝试绘制分组的条形图(x,y由另一个变量),但是我得到的是比例图(0-1)而不是计数,所有条形都变为1。我很困惑因为代码似乎是正确的(使用统计信息身份和位置闪避)

我已尝试将变量分解为因子,但不起作用。数据帧的格式很长。

ggplot(supra.long, aes(condition, measurement, fill = MODE)) +
  geom_bar(position = 'dodge', stat = "identity") 

当我绘制这小部分数据时,得到了相同的结果:

 A tibble: 6 x 3

condition measurement MODE 
  <chr>           <dbl> <chr>

INTACT              1 US   
INTACT              0 US   
INTACT              1 US   
FT                  0 MRI  
FT                  1 MRI  
FT                  0 MRI 

我期望在y轴上有一个计数图,但是所有条形图都按比例尺变为1。

1 个答案:

答案 0 :(得分:0)

在绘制数据之前,我可能会汇总数据并使用“身份”统计信息。

library(dplyr)
condition <- c("INTACT","INTACT","INTACT","FT","FT","FT")
measurement <- c(1,0,1,0,1,0)
MODE <- c("US","US","US","MRI","MRI","MRI")
supra.long <- data.frame(condition, measurement, MODE) %>%
  group_by(condition, MODE) %>%
  summarise(count = sum(measurement))

ggplot(supra.long) +
  geom_bar(aes(x=condition, y=count, fill = MODE), position = 'dodge', stat = "identity") 

或者我会过滤掉零并使用“计数”统计。

supra.long <- data.frame(condition, measurement, MODE) %>% filter(measurement > 0)
ggplot(supra.long) +
  geom_bar(aes(x=condition,fill = MODE), position = 'dodge', stat = "count") 

希望有帮助。