2016-05-25 18 views
0

x <- rnorm(10000)を使用してデータを生成し、次に​​を使用して単純なヒストグラムをプロットするとします。Rのヒストグラムを軸の範囲内に収める方法[0,1]

これはデータが正常であることを明らかに示していますが、xyの軸は生成された値によって決まります。 xを調整して、ヒストグラムが通常の曲線として表示されるようにしますが、範囲がx=[0,1]y=[0,1]のプロットに表示するにはどうすればよいでしょうか。私はこの正規化方法を別の答えであるhttps://stats.stackexchange.com/questions/70801/how-to-normalize-data-to-0-1-rangeと、xlimylimからc(0,1)に設定しようとしましたが、基本的にはプロット全体がいっぱいになってしまいました。

+0

引数は 'PROBと呼ばれる' hist'機能であります'; 'TRUE'に設定し、それがあなたが探しているものかどうかを確認してください。 – Abdou

+0

あなたの周波数プロットで 'ylim'を' c(0,1) 'に設定しているのは、スクリーン全体を占める理由です。全てが周波数> 1であるからです。x -axisは 'c(0,1)'になっているので、@ Abdouのコメントで 'hist'の' prob'オプションを使うことができます –

答えて

1

「プロット全体を塗りつぶす」という意味がわかりません。このコードは正常に動作するようです:

x <- rnorm(1000) 
z <- (x - min(x))/(max(x) - min(x)) 
hist(z) 

あなたは0-1のスケール上のy軸をしたい場合は、:

hist1 <- hist(z) 
hist1$counts <- hist1$counts/sum(hist1$counts) 
plot(hist1, ylim = c(0,1)) ## Looks squished to me if you include the ylim argument 
+1

これは質問の目標を達成していますが、できることは非常に奇妙なことです元の変換の最大値と最小値を知らずにデータを変換しません(関数を適用して元のスケールに戻すことができるログ変換のようなものではありません)。それを行う方法がそれほど変わっていないと言っているわけではありません...私はもっと言います、それは奇妙なことです。 –

+1

男は尋ねた、私は答えようとした! ;) –

関連する問題