以y轴表示频率多边形的最大值的百分比

问题描述 投票:0回答:1

给出代码

set.seed(1234)
dat <- data.frame(cond = factor(rep(c("A","B"), each=200)), 
                  rating = c(rnorm(200),rnorm(200, mean=.8)))
head(dat)
ggplot(dat, aes(x=rating)) + geom_freqpoly()

我需要将y轴更改为最大计数的百分比。最好的方法是什么?

进一步编辑:我不是在寻找一种方法来显示总数据点的百分比,而是将最大计数设置为100%,并将所有其他容器显示为该最大值的百分比。因此,y轴的范围为1-100,峰的顶部为100。

r ggplot2 binning
1个回答
0
投票

我对您最初询问的内容有点困惑,但现在我明白了:您想将y轴“标准化”为..count..,其中最高点等于1.0(最大值),并且所有其他点都等于value / maximum value

为此,这应该起作用:

ggplot(dat, aes(x=rating, y=..count../max(count))) + geom_freqpoly()

enter image description here

如果要将值更改为0到100(而不是0到1),则只需乘以100:

ggplot(dat, aes(x=rating, y=(..count../max(count))*100)) + geom_freqpoly()

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.