ggplot2、ヒストグラムをシフトする方法は?
私はRを学ぼうとしていますが、「Rを使ったハンズオンプログラミング」という本を読んで始めたところです。問題が発生し、煩わしいため続行できません。演習として、ggplot2パッケージを試して、ヒストグラムを作成することになっています。使用するコードは次のとおりです。
x <- c(1, 2, 2, 2, 3, 3)
qplot(x, binwidth = 1)
ヒストグラムは写真1のようになります。ただし、コードを実行すると、ヒストグラムは画像のヒストグラムのようには見えず(必要な場合でも)、画像2のヒストグラムのようになります。基本的には同じですが、本来あるべき場所の左側に小数点以下0.5桁があります。
ヒストグラムが写真1と同じように見えない理由と、そのように見えるようにコードを修正する方法を教えてください。
写真1: https://i.stack.imgur.com/dssBQ.jpg 写真2: https://i.stack.imgur.com/wUk1i.jpg
回答
Rバージョン4.0.3でggplot2_3.3.2を使用しています。
で説明したプロットではなく、あなたと同じグラフが表示されます https://rstudio-education.github.io/hopr/packages.html#packages-1。
この本で使用されているggplotのバージョンが見つかりませんでした。おそらく、一部のテキストに基づいて2014年頃からです。@the_one_neuronのコメントを念頭に置いて、これは本が書かれてからのggplot2の変更と関係があるのではないかと思います。
問題は、ビニングまたはそれ以上の「ゲートと投稿」の1つです。値1を0から1(0.5を中心)ではなく、1から<2(1.5を中心)の間でビニングする必要があります。
@ r2evansから、より詳細な説明があります。すべての値が0より大きいのに、geom_histogramが負のビンの下限から始まるのはなぜですか。。
とにかく、ここにあなたの期待されるグラフに似た結果を得るためのファッジがあります。
library(ggplot2)
x <- c(1, 2, 2, 2, 3, 3)
qplot(x, binwidth = 1, breaks = 1:4 - 0.000001, xlim = c(0, 4))
reprexパッケージ(v0.3.0)によって2021-01-15に作成されました
あなたはこのようなことを試みることができます。完璧ではありませんが、とても近いです
qplot(x, binwidth = 1, xlim =c(0,NA), ylab = "count")