【发布时间】:2018-11-09 06:31:28
【问题描述】:
我在geom_bar 中使用..count.. 转换并收到警告
当我的某些类别的计数很少时,position_stack 需要不重叠的 x 间隔。
最好使用一些模拟数据来解释这一点(我的数据涉及方向和风速,我保留了与之相关的名称)
#make data
set.seed(12345)
FF=rweibull(100,1.7,1)*20 #mock speeds
FF[FF>60]=59
dir=sample.int(10,size=100,replace=TRUE) # mock directions
#group into speed classes
FFcut=cut(FF,breaks=seq(0,60,by=20),ordered_result=TRUE,right=FALSE,drop=FALSE)
# stuff into data frame & plot
df=data.frame(dir=dir,grp=FFcut)
ggplot(data=df,aes(x=dir,y=(..count..)/sum(..count..),fill=grp)) + geom_bar()
这很好用,结果图显示了根据速度分组的方向的频率。相关的是,计数最少的速度类(此处为“[40,60)”)将具有 5 个计数。
但是,更多的速度等级会导致警告。例如,与
FFcut=cut(FF,breaks=seq(0,60,by=15),ordered_result=TRUE,right=FALSE,drop=FALSE)
计数最少的速度类(现在“[45,60)”)只有 3 个计数,ggplot2 会发出警告
position_stack 需要不重叠的 x 间隔
并且该图将显示此类别中沿 x 轴分布的数据。 似乎 5 是组正常工作的最小规模。
如果我知道这是 stat_bin(geom_bar 正在使用)中的功能还是错误,或者我只是在滥用 geom_bar,我将不胜感激。
此外,我们将不胜感激任何有关如何解决此问题的建议。
真诚的
【问题讨论】:
-
也许是这个?
ggplot(data=df,aes(dir, fill=grp)) + geom_histogram(aes(y=(..count..)/sum(..count..)))
标签: r ggplot2 histogram stacked