我目前正在处理一个栅格,该栅格包含去年冬天的一次风暴的1,750,000个数据点。我正在使用pracma::findpeaks()
函数来量化和分析风暴周期。风暴的每个小时都会发生超过90,000个数据点,我希望得到一个小时一个小时的分析。在几个小时的间隔内,该功能可以正常运行:
findpeaks(winddf$s1[1609931:1699931], nups = 3, ndowns = 3, minpeakheight = 10.79, minpeakdistance = 5)
但是,在另一个90,000个计数间隔内,运行此命令后,我收到此错误消息:
findpeaks(winddf$s1[179133:269132], nups = 3, ndowns = 3, minpeakheight = 8.84, minpeakdistance = 5)
xp [i]中的错误<-which.max(x [x1 [i]:x2 [i]])+ x1 [i]-1: 替换的长度为零
唯一的更改是阈值minpeakheight
和我正在查看的间隔。该功能适用于所有3000个计数间隔,大约8000个计数间隔和几个15,000个计数间隔,但是我宁愿只对风暴的90,000个计数间隔中的20小时执行20次分析,而不是使用3000个计数间隔执行600次分析。由于数据文件太大,我无法提供完整的代码或数据。谢谢。