R 分面柱状图中的百分比,比例为连续()

R 分面柱状图中的百分比,比例为连续(),r,ggplot2,histogram,facet,R,Ggplot2,Histogram,Facet,我试图使用带有切面直方图的scale\u y\u continuous(),但遇到了一个问题。我希望每个计数都是一个百分比。我的代码是: ggplot(d, aes(x = likely_att)) + geom_histogram(binwidth = 0.5, color = "black") + facet_wrap(~married, scales = "free_y") + theme_classic() + scale_y_co

我试图使用带有切面直方图的
scale\u y\u continuous()
,但遇到了一个问题。我希望每个计数都是一个百分比。我的代码是:

ggplot(d, aes(x = likely_att)) +
  geom_histogram(binwidth = 0.5, color = "black") +
  facet_wrap(~married, scales = "free_y") +
  theme_classic() +
  scale_y_continuous(labels = percent_format())
看起来分布本身是准确的,但比例是不准确的:百分比是“200000%,“5000%,”等等。这似乎是错误的,但我不太清楚为什么会发生这种情况

在我的数据集中,“是”比“否”或“分离”的已婚值多得多,这就是为什么我使用
scales=“free_y”
以及为什么我希望只显示百分比,只需要显示一个轴值

出于隐私原因,我无法共享此确切数据,但
可能的_att
变量只是一个1-5数字变量,而
已婚的
是一个字符变量,有3个值:是、否、分隔

如果有用的话,我基本上希望它看起来像这张图片,但是用百分比代替计数,这样我就可以在最左边有一个y轴,0-100%


问题在于使用
百分比格式()
函数会改变标签的打印方式,但实际上不会重新缩放数字。要做到这一点,可以使用密度构造变量并将其乘以箱子宽度,然后使用百分比格式

ggplot(d, aes(x = likely_att)) +
  stat_bin(aes(y=..density..*.5, group = married), 
                 binwidth = 0.5, color = "black") +
  facet_wrap(~married, scales = "free_y") +
  theme_classic() +
  scale_y_continuous(labels = percent_format())

哇,我从没想过用这种方式使用统计数据和密度。非常感谢你。