0

这个网站的长期粉丝,虽然是第一次使用。一直在为这个问题寻找类似/有效的结果。我试图展示 2 水平因子的每个水平出现在三个位置的比例。全部在 ggplot 中并排的条形图中。

这是我用来(尝试)创建图表的代码。结果是两张图表:一张分别使用 geom_bar 和 geom_col。我想要的基本上是两者的结合。第一个,但具有第二个的颜色和 Y 轴。

谢谢!

    ggplot(df,aes(x = Stream,fill = death)) + 
    geom_bar(position = "dodge")+
    scale_fill_manual(values = c(rep(c("gray45", "gray75"))))+
    labs(fill="Time of Death") 

在此处输入图像描述

    death_stream <-df %>%
    group_by(Stream,Tree_Death)%>%
    summarise (n = n()) %>%
    mutate(rel.freq = paste0(round(100 * n/sum(n), 0), "%"))


    death_stream %>% 
    ggplot(aes(x = Stream,y = rel.freq)) + 
    geom_col(position = "dodge",fill = "grey50", colour = "black")+
    labs(fill="Time of Death")

在此处输入图像描述

4

1 回答 1

1

谢谢Axeman,我想通了。“rel.freq”的“类”。是性格。我尝试指定为数字,但不是

    <int> 

它产生了

   <dbl>

原来我所要做的就是将 tibble BACK 恢复为 data.frame 并指定为数字。另一种方法是导出为 excel 文件并将 Excel 中的“rel.freq”列更改为 NUMBERS。

    death_stream
    # A tibble: 6 x 4
    Stream Tree_Death     n percent
    <int>      <int> <int>   <int>
    1      1          0    25      33
    2      1          1    50      67
    3      2          0    17      30
    4      2          1    40      70
    5      3          0   120      70
    6      3          1    51      30
于 2017-06-23T22:00:53.743 回答