这个网站的长期粉丝,虽然是第一次用户。 一直在寻找这个问题的类似/工作结果。 我试图显示两个级别因子的每个级别出现在三个位置的比例。全部在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")
答案 0 :(得分:0)
谢谢Axeman,我想通了。 “rel.freq”的“阶级”。是个性格。我尝试指定为数字,而不是
<int>
它产生了
<dbl>
事实证明我所要做的就是将tibble返回到data.frame并指定为数字。另一种方法是导出为excel文件,并将“rel.freq”列更改为Excel中的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