最初にモードに関する一般的なコメント:
(少なくとも概念的には)継続的に分散されたデータのモードを取得するためにそのアプローチを使用しないでください。値が繰り返される可能性は低く(本当に巨大なサンプルがない限り、それは小さな奇跡であり、それでもさまざまな数値の問題により、多少予期しない方法で動作する可能性があります)、通常は最小値を取得します仕方。これは、離散データまたはカテゴリカルデータでグローバルモードの1つを見つける1つの方法ですが、おそらくそれでもその方法ではそうしません。離散データまたはカテゴリカルデータのモードを取得する他のいくつかのアプローチを次に示します。
x = rpois(30,12.3)
tail(sort(table(x)),1) #1: category and count; if multimodal this only gives one
w=table(x); w[max(w)==w] #2: category and count; this can find more than one mode
which.max(table(x)) #3: category and *position in table*; only finds one mode
カウントや位置でnames()
はなく値だけが必要な場合は、それらから取得します
基本的な方法で連続データのモード(複数のローカルモードが存在する可能性があります)を特定するには、データを(ヒストグラムのように)ビン化するか、(density
たとえば使用して)平滑化し、1つ以上のモードを見つけようとしますそのように。
ヒストグラムのビンが少ないと、モードの推定によるノイズの影響が少なくなりますが、場所はビンの幅よりも適切に固定されません(つまり、間隔のみが取得されます)。ビンを増やすと、ビン内の精度が向上しますが、ノイズによって、そのような多くのビンを飛び越えてしまう場合があります。bin-originまたはbin幅の小さな変更は、モードで比較的大きな変更を生成する可能性があります。(統計全体で同じバイアス分散のトレードオフがあります。)
summary
いくつかの基本的な統計が表示されることに注意してください。
【あなたが使うのsd(x)
ではなくsqrt(var(x))
、1つの点でより明確です]
-
q.2に関してはい。ヒストグラムやボックスプロットなどのディスプレイにデータの平均値と中央値を表示することもできます。必要な場合に一般化できるいくつかの例とコードについては、ここを参照してください。