在一个时间序列中多次查找特定值

问题描述

我试图在一个时间序列中多次查找一个特定值,在这种情况下为0。数据看起来像这样

structure(list(time = c(40,41,42,43,44,44.9,45.9,46.9,47.9,48.9,49.9,50.8,51.8,52.8,53.7,54.6,55.6,56.5,57.5,58.5,59.5,60.5,61.5,62.5,63.5,64.5,65.5,66.5,67.5,68.5,69.5,70.5,71.5,72.5,73.5,74.5,75.5,76.4,77.3,78.3,79.3,80.3,81.2,82.2,83.2,84.2,85.2,86.2,87.2,88.2,89.2,90.2,91.2,92.2,93.2,94.2,95.2,96.2,97.2,98.2,99.2,100.2,101.2,102,103,103.9,104.9,105.9,106.8,107.8,108.8,109.8,110.8,111.8,112.8,113.8,114.4,114.9,115.8,116.8,117.8,118.8,119.8),value = c(33.6,33.6,34,34.4,34.72,29.12,34.8,19.04,30.32,1.36,0.48,28.64,32,7.68,31.12,31.6,2.8,22.16,31.92,38.8,0)),row.names = c(NA,-83L),class = "data.frame")

问题是我想找出value中第一个零出现的时间。所以过程就像:如果value降为零,请给我一点时间在time中,然后如果value上升为time然后又下降设为零,请在time中给我一点时间... 绘制数据应该有助于理解问题。

因此time的结果应如下所示:54.6、76.4、102、114.4

编辑:我不知道它是否重要,但是原始数据在data.table中。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)