【发布时间】:2016-11-07 04:59:11
【问题描述】:
我需要将直方图的 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)))}
但我得到了这张照片:
但我真正想要的是这样的(Y轴在0-1之间):
【问题讨论】:
-
使用 scale() 函数 (inside-r.org/r-doc/base/scale)
-
@algui91 规模在哪里?。我不想缩放我的数据框,我想缩放频率。有没有办法做到这一点?我是 R 的新手
-
@algui91 谢谢。我检查了,但我的疑问尚未解决。
-
如果我没记错的话,
scale,虽然它的名字,在数据的 [-1,1] 之间进行标准化。它为您提供均值 0 和 sd = 1 的正态分布。这不是您想要的吗?