2016-07-05 10 views
1

ヒストグラムのY軸を0-1の間で正規化する必要があります。ヒストグラムのY軸を0と1の間で正規化するにはどうすればよいですか?

これは私のdata.frameの一部です:

1.8064 2.2016 2.4506 2.1828 2.1171 1.9308 2.1707 2.1885 
2.2310 2.2400 1.9115 2.1527 2.0934 1.7989 2.2144 2.0091 
1.9248 2.2038 1.9676 1.9224 1.9502 1.7990 2.0824 2.1300 
2.0095 2.0341 1.8433 1.8361 1.9958 1.8243 2.0397 2.0482 
2.1143 2.2627 1.7620 1.7561 1.9490 1.9803 1.9336 2.2511 
2.2377 2.5414 1.7867 1.6618 2.5090 1.8325 2.0212 2.1616 
2.3476 2.1878 2.0469 1.7508 2.2969 1.7939 2.0291 2.0721 
2.3534 2.0932 2.3502 1.9960 2.0710 1.9923 1.7787 1.9772 
2.2607 2.1504 2.3685 2.1148 2.1961 1.7738 1.8405 2.0135 
2.2411 1.9916 2.4726 2.0347 2.0751 1.7570 1.8874 1.9385 
2.1913 1.8981 2.2441 2.3068 2.1198 2.1484 1.8056 1.7747 
2.0842 1.8750 2.3023 2.1204 1.8972 2.1534 1.8028 1.9401 
2.2105 1.9618 2.2472 1.9656 2.3098 1.9771 1.9520 1.8627 
2.2863 1.9959 2.1781 1.9544 1.9281 1.9286 1.9699 2.0330 
2.1987 2.0583 2.0953 2.0206 2.1148 2.3789 1.7052 1.9145 
2.0513 2.0850 1.9810 2.4943 1.9120 2.2209 1.9461 2.0882 
2.0049 2.0416 1.9303 2.3681 1.8974 2.0054 1.9261 1.9097 
1.6882 2.1196 1.8641 2.3600 2.0931 1.7641 2.1131 1.7748 
1.8840 1.7604 1.7664 2.2000 2.0055 1.8229 1.9871 1.9168 
1.7340 1.9656 1.8480 2.0523 1.9950 1.8716 1.9206 1.7786 

そして、これは私が現在やっているものです:

for (i in data){ 
    x <- i 

    h<-hist(x, plot = FALSE) 
    h$density = h$counts/sum(h$counts) 

    plot(h, col="red", xlim = c(0,max(data)))} 

をしかし、私はこの絵を取得:

enter image description here

私が本当に欲しいのは、このようなものです(0-1の間のY軸):

enter image description here

+1

scale()関数(http://www.inside-r.org/r-doc/base/scale)を使用してください。 – elbaulp

+0

@ algui91 scale?自分のデータフレームをスケールしたくないので、頻度をスケールしたい。これを行う方法はありますか?私は少し初心者のR – Enrique

+0

この答えをチェック:http://stackoverflow.com/questions/15215457/standardize-data-columns-in-r – elbaulp

答えて

1

あなたはthis answer

maxs <- apply(a, 2, max) 
mins <- apply(a, 2, min) 
scale(a, center = mins, scale = maxs - mins) 

しかし、唯一のあなたのy列を使用することコードを変更して提案するものflodel使用することができ[0,1]の間であなたのYをスケールする:

maxs <- max(y) 
mins <- min(y) 
scale(y, center = mins, scale = maxs - mins) 

がそれを希望を助けてください

0

各観測値をmaxで除算してデータを1に正規化してください。

しかし、なぜですか? y軸が0-1で正規化されている場合は、確率を意味し、これは明らかにそうではありません。

関連する問題