不确定这是否应该进行交叉验证,但我们会看到。基本上,我最近从一台仪器获得了数据(化合物的质量从 0 到 630),在绘制直方图之前,我将其分箱到 0.025 个箱中,如下所示:-
我想识别高频且从背景噪音中脱颖而出的箱(背景噪音随着您在轴上从右向左移动而增加)。想象一下,在几乎模糊在一起的点上绘制一条曲线,形成一个黑色块,然后选择该曲线上方存在的 bin 进行进一步调查,这就是我正在尝试做的事情。我刚刚绘制了一个核密度图,看看是否可以将其覆盖在直方图上并使用它来识别图上方存在的点。然而,密度图在这方面没有任何进展,因为密度值太低(见第二张图)。有没有人对我如何解决这个问题有任何建议?蓝线代表覆盖的密度函数图,红线代表理想的解决方案(需要一种在 R 中以某种方式自动化的方法)
下面的数据只是我的数据集的一部分,因此它不能很好地代表我的绘图(仅包含大约 300,000 个点),并且由于我的 bin 大小非常小(0.025),因此数据分布非常广泛(总共有 25,000左右垃圾箱)。
df <- read.table(header = TRUE, text = "
values
1 323.881306
2 1.003373
3 14.982121
4 27.995091
5 28.998639
6 95.983138
7 2.0117459
8 1.9095478
9 1.0072853
10 0.9038475
11 0.0055748
12 7.0964916
13 8.0725191
14 9.0765316
15 14.0102531
16 15.0137390
17 19.7887675
18 25.1072689
19 25.8338140
20 30.0151683
21 34.0635308
22 42.0393751
23 42.0504938
")
bin <- seq(0, 324, by = 0.025)
hist(df$values, breaks = bin, prob=TRUE, col = "grey")
lines(density(df$values), col = "blue")