ヒストグラムを作成しようとしました。この例では、「値」のヒストグラムに「量」を重み付けしたいとします。以前の投稿を検索しましたが、これは私の問題に対処していないようです。私は、ヒストグラムの異なる加重結果を期待ヒストグラムを作成しようとすると予期しないggplot出力が発生するR
1):
は私が解決しようとしている2つの問題を抱えています。私は "2"の値がバーを16%に、 "3"の値を24%に、 "4"の値を18%に、 "5"の値に42%のバーがあります。2)ヒストグラムに「0」の値が100%の黒いバーが表示される理由はわかりません。
申し訳ありませんが、残念ながら、私はSOに初めているので、出力の画像を投稿できません。
私は大いに助けてくれてありがとう!ここで
が再現可能な例である:
library(ggplot2)
amount <- c(rep(0.02, 50), rep(0.03, 50))
value <- c(rep(2, 20), rep(3, 30), rep(4, 15), rep(5, 35))
my_df <- data.frame(amount, value)
xvar <- my_df$value
weight <- my_df$amount
histogram <- ggplot(my_df, aes(xvar))
histogram <- histogram + geom_histogram(aes(weight))
histogram <- histogram + geom_histogram(binwidth=0.25,
colour="black", fill="white")
plot(histogram)
あなたの意図した出力にかかわらず、あなたの 'ggplot'コード自体には間違いがありますが、バックアップして重み付けについて質問するのに役立ちます。値の20%は2です。データが与えられてから、その部分が私には意味をなさないので、それから0.16の重み付けされた値を得る方法を説明できますか? – joran
...具体的には、ヒストグラムを加重したいと言うなら、 'value'のヒストグラムを生成する' ggplot(my_df、aes(x = value、weight = amount))+ geom_histogram() 「量」によって重み付けされる。しかし、それはあなたが描写したものを生み出すようには見えないので、私はあなたが実際に望むものを理解しようとしています。 – joran
ありがとう非常にジョラン。うまくいけば私はこれについて正しい考え方を考えています。 ** amount ** = 2.5の合計。 **値** = 2の単一項目の場合、パーセントは0.02/2.5 = 0.8%です。つまり、2の値が20のアイテムがあるため、2のすべてが0.8%* 20 = 16%になるでしょう。ここのコードはコンパクトではないことがわかりましたが、私はそれを書いて誰かがそれぞれの連続したコード行ヒストグラムにするでしょう。私があなたのコードを使用したとき、私は確かに離れていた黒いバーの問題(これを前に試しましたが、エラーが発生しました...間違って入力している必要があります)。重みは私が期待したものではありません – DaveM