0

Y軸にパーセンテージ、X軸に数値を指定してggplot2を使用してヒストグラムをプロットしようとしています。

私のデータとスクリプトのサンプルは次のようになり (以下)、約 100,000 行 (またはそれ以上) 続きます。

A    B
0.2  x
1    y
0.995    x
0.5  x
0.5  x
0.2  y
ggplot(data, aes(A, colour=B)) + geom_bar() +stat_bin(breaks=seq(0,1, by=0.05)) + scale_y_continuous(labels = percent)

A 値ごとの B 値の数ではなく、A 値の各ビンに分布する B 値のパーセンテージを知りたいです。

現在のコードでは、ymax が 15000 の y 軸が表示されます。y 軸はパーセンテージ (0-100) で表されます。

4

1 に答える 1

2

これは、あなたの望むことですか?あなたのデータフレームはdfと呼ばれていると思います:

# calculate proportions of B for each level of A
df2 <- as.data.frame(with(df, prop.table(table(A, B))))
df2
#       A B      Freq
# 1   0.2 x 0.1666667
# 2   0.5 x 0.3333333
# 3 0.995 x 0.1666667
# 4     1 x 0.0000000
# 5   0.2 y 0.1666667
# 6   0.5 y 0.0000000
# 7 0.995 y 0.0000000
# 8     1 y 0.1666667

ggplot(data = df2, aes(x = A, y = Freq, fill = B)) +
geom_bar(stat = "identity", position = position_dodge())

ここに画像の説明を入力

于 2013-09-19T18:08:12.127 に答える