首页 > 解决方案 > 如何使用 getWaveletPeaks 检测 rstudio 中的所有重叠峰

问题描述

在此处输入图像描述我收到了一个代码,用于在 Rstudio 中绘制、检测峰值和分析 NMR 光谱。它几乎可以像我想要的那样工作,但是在采摘高峰时我很挣扎。该代码包括 getWaveletPeaks 函数,我在弄清楚如何检测附近的峰值,尤其是重叠的峰值(所有局部最大值)方面遇到了巨大的麻烦。我可以使用此功能检测所有局部最大点吗?在这种情况下如何?

标签: rdetectoverlapping

解决方案


我现在不能给你完整的信息,好像我只能添加一张图片?但是,在添加的图像中,您可以看到具有多个峰值的光谱的一个很好的部分,以及代表所有光谱检测到的局部最大值的点(总共 29 个重叠)。我的问题是,无论我似乎能够改变什么,都没有检测到一些峰(例如 2.055 ppm)。我认为代码中不能按我希望的那样工作的部分是:

enter code here

peaks <- speaq::getWaveletPeaks(Y.spec=Spectra,
                                 X.ppm=ppm, 
                                 window.width = "small",
                                 window.split = 64,                                            
                                 baselineThresh = 2,                                        
                                 SNR.Th = 7,                                           
                                 nCPU = 6,                                                 
                                 include_nearbyPeaks = TRUE)                                
save(peaks,file='BiGh_191009_neuro_csf_800_peaks_snr10_bt10.Rdata')

推荐阅读