繁体   English   中英

R:频率/密度图中的y轴怪异(ggplot2)

[英]R: weird y-axis in frequency/density plot (ggplot2)

我有两个样本的数据,我想在R中绘制频率分布图。我在Excel中完成了参考:

想要获得R中的什么(通过excel获得)

我在R中上传了数据(HistSerp)。 136 obs. of 2 variables 136 obs. of 2 variables

summary(HistSerp)
V1              V2       
 Min.   :0.000   Min.   :0.0000  
1st Qu.:0.000   1st Qu.:0.3752  
Median :0.000   Median :1.2845  
Mean   :0.055   Mean   :1.2144  
3rd Qu.:0.082   3rd Qu.:1.9952  
Max.   :1.082   Max.   :2.9800 

class(HistSerp$V1)
"numeric"
class(HistSerp$V2)
"numeric"

如果我HistSerp.m <- melt(HistSerp)ggplot(HistSerp.m) + geom_freqpoly(aes(x = value, y = ..density.., colour = variable))该图看起来是: 在此处输入图片说明

我不知道为什么y轴跨越该值,并且我不确定这是否仅是y轴标注问题,该图本身似乎有所不同。 我也尝试过geom_density()hist(HistSerp$V1, freq=FALSE)等等,但是我无法如我hist(HistSerp$V1, freq=FALSE) ,我和以前一样。 我想我的数据有问题,但我不知道这是什么。 任何帮助将不胜感激。

谢谢

PS。 我应该复制数据(136x2)吗?

更新:数据。 抱歉,如果有更好的复制方法...

0.144   2.024
0.082   2.548
0.082   1.943
0.000   2.599
0.000   2.233
0.000   2.342
0.082   1.655
0.082   2.200
0.000   2.261
0.000   2.408
0.000   2.127
0.000   2.053
0.000   1.929
0.000   1.413
0.000   2.400
0.000   2.777
0.000   2.685
0.000   1.436
0.000   1.573
0.000   2.504
0.000   1.533
0.000   1.434
0.000   1.421
0.000   2.534
0.082   1.728
0.000   1.984
0.082   1.287
0.000   2.324
0.164   2.405
0.279   1.989
0.082   2.729
0.144   2.046
0.226   2.496
0.000   2.980
0.000   2.634
0.000   1.792
0.000   1.571
0.000   0.612
0.000   0.884
0.000   0.449
0.000   2.318
0.082   0.449
0.000   0.449
0.000   0.563
0.082   0.919
0.000   0.617
0.082   1.297
0.144   0.719
0.000   1.897
0.000   1.338
0.000   0.337
0.000   1.555
0.000   0.273
0.291   0.656
0.000   0.273
0.082   0.388
0.082   1.911
0.082   0.852
0.000   1.580
0.000   1.450
0.000   1.209
0.000   2.049
0.082   2.694
0.082   1.089
0.246   2.643
0.000   2.393
0.000   1.702
0.000   2.595
0.000   1.432
0.000   2.094
0.000   1.526
0.082   1.775
0.000   0.273
0.000   1.405
0.000   2.014
0.000   0.543
0.000   0.586
0.000   1.224
0.000   0.719
0.164   0.201
0.000   0.388
0.082   0.232
0.000   0.116
0.000   0.116
0.082   1.395
0.000   0.116
0.000   0.232
0.082   0.844
0.000   1.153
0.082   0.000
0.667   0.000
0.000   1.535
0.000   2.687
0.000   0.922
0.226   0.337
0.197   0.999
1.082   1.373
0.082   0.396
0.082   0.116
0.000   1.667
0.000   0.731
0.000   0.544
0.082   2.072
0.000   2.262
0.164   2.111
0.082   1.675
0.000   0.116
0.000   0.232
0.082   0.116
0.000   1.004
0.000   0.116
0.164   0.116
0.082   0.699
0.000   0.000
0.000   0.273
0.082   0.000
0.000   0.388
0.082   0.000
0.000   0.116
0.000   0.273
0.000   0.000
0.000   0.649
0.164   0.000
0.082   0.000
0.082   0.000
0.000   0.000
0.082   0.000
0.144   1.282
0.000   1.772
0.000   0.116
0.082   0.000
0.000   1.416
0.000   0.563
0.082   0.510
0.000   0.316
0.164   1.124

您有两种选择:

geom_freqpoly(aes(y = ..count.. / sum(..count..)))

这可能是您想要的。 然后是:

geom_freqpoly(aes(y = ..ndensity..))

这是密度估算值,但缩放范围是0到1(即,它将始终是0到1)。 最后,相关的:

geom_freqpoly(aes(y = ..ncount..))

这很相似,但很重要。 您可以在?stat_bin阅读有关这些选项的?stat_bin

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM