私は最近Rを使い始めて、hist()
関数をよく理解していないと思います。私は現在、長さ296の数値ベクトルを使用しています。それを10の等間隔に分割し、頻度ヒストグラムを作成して、各間隔にどの値が入るかを確認します。 hist(dataset, breaks = 10)
がうまくいくと思いましたが、代わりに12の間隔に分割しています。私は明らかにbreaks
の機能を誤解しています。
ヒストグラムでデータを10の間隔に分割する場合、どうすればよいですか。ありがとうございました。
documentation のように、breaks
引数に単一の数値を指定すると、 pretty ブレークポイントが提供されるため、これは提案として扱われます。等間隔の10個のビンにする場合は、おそらく次の方法が最も簡単です。
x = rnorm(50)
hist(x, breaks = seq(min(x), max(x), length.out = 11))
長さはn+1
ここで、n
は目的のビンの数です。
help(hist)
を読むと、この説明が見つかります。
休憩:次のいずれか
•ヒストグラムセル間のブレークポイントを示すベクトル
•ブレークポイントのベクトルを計算する関数、
•ヒストグラムのセル数を示す単一の数値、
•セルの数を計算するアルゴリズムを指定する文字列(「詳細」を参照)
•セルの数を計算する関数。
最後の3つのケースでは、数値は単なる提案です。ブレークポイントは「かなり」の値に設定されるため、数値は「1e6」に制限されます(大きい場合は警告が表示されます)。 「breaks」が関数の場合、「x」ベクトルが唯一の引数としてそれに提供されます(そして、ブレークの数は制限されます
そのため、ヘルプでは、関数に数値を指定すると、それは提案としてのみ使用されると明確に述べています。
考えられる解決策の1つは、ブレークポイントを自分で指定することです。
x <- rnorm(296)
hist(x, breaks=c(-4,-3,-2,-1,0,1,2,3,4,5))
そうしたくないが、代わりにビンの数を指定したい場合は、cut
関数を使用できます。
plot(cut(x, 10))