非常に単純な疑問があり、頭を悩ませています。
y=..density.. を使用する場合のようにバーの面積の合計が 1 になるのではなく、また y=..ncount.. を使用する場合のように最も高いバーが 1 になるのではなく、ヒストグラムの y 軸を各ビンが占める割合 (0 から 1) を反映するようにスケールしたいと思います。
入力は名前と値のリストで、次のようにフォーマットされています。
name value
A 0.0000354
B 0.00768
C 0.00309
D 0.000123
私の失敗した試みの一つ:
library(ggplot2)
mydataframe < read.delim(mydata)
ggplot(mydataframe, aes(x = value)) +
geom_histogram(aes(x=value,y=..density..))
これにより、面積が 1 で高さが 2000 と 1000 のヒストグラムが生成されます。
y=..ncount.. は、最高バーが 1.0 で、残りがそれにスケールされたヒストグラムを生成します。
しかし、最初のバーの高さを 0.5 にし、他の 2 つのバーの高さを 0.25 にしたいと思います。
R は、scale_y_continuous のこれらの使用法も認識しません。
scale_y_continuous(formatter="percent")
scale_y_continuous(labels = percent)
scale_y_continuous(expand=c(1/(nrow(mydataframe)-1),0)
ご協力いただければ幸いです。
ベストアンサー1
..ncount..
は最大 1.0 に再スケールされますが、..count..
はスケールされていないビン カウントであることに注意してください。
ggplot(mydataframe, aes(x=value)) +
geom_histogram(aes(y=..count../sum(..count..)))
つまり、次のようになります。