【发布时间】:2015-03-31 11:52:08
【问题描述】:
我的数据框如下所示:
plant distance
one 0
one 1
one 2
one 3
one 4
one 5
one 6
one 7
one 8
one 9
one 9.9
two 0
two 1
two 2
two 3
two 4
two 5
two 6
two 7
two 8
two 9
two 9.5
我想按间隔(例如,interval=3)将每个级别的距离分成组,并计算每个组的百分比。最后,绘制每个组的每个级别的百分比,如下所示:
我的代码:
library(ggplot2)
library(dplyr)
dat <- data %>%
mutate(group = factor(cut(distance, seq(0, max(distance), 3), F))) %>%
group_by(plant, group) %>%
summarise(percentage = n()) %>%
mutate(percentage = percentage / sum(percentage))
p <- ggplot(dat, aes(x = plant, y = percentage, fill = group)) +
geom_bar(stat = "identity", position = "stack")+
scale_y_continuous(labels=percent)
p
但我的情节如下所示:group 4 不见了。
我发现dat 是错误的,group 4 是NA。
可能的原因是group 4 的长度小于interval=3,所以我的问题是如何解决?提前谢谢!
【问题讨论】: