更正时间间隔系列

时间:2016-10-21 07:38:15

标签: r

重新编辑以包含其他原始输入数据。

我有一个呼吸时间序列,其中检测到的呼吸准确度因检测器设置的技术限制而变化。该系列包含检测到的呼吸间隔的列表。

我通过从第1次减去第2次观察来计算呼吸之间呼吸速率的差异,依此类推。然后使用ifelse语句检查此间隔,将大于0.5的正值标记为1,否则为0.例如。

      sequence rate  diff flag
1         1    1.07  0.00    0
2         2    0.99  0.08    0
3         3    0.98  0.01    0
4         4    1.01 -0.03    0
5         5    1.10 -0.09    0
6         6    0.99  0.11    0
7         7    1.06 -0.07    0
8         8    0.23  0.83    1
9         9    0.82 -0.59    0
10       10    1.09 -0.27    0
11       11    0.96  0.13    0
12       12    1.10 -0.14    0
13       13    1.04  0.06    0
14       14    0.36  0.68    1
15       15    0.75 -0.39    0

根据经验,我已经确定最常见的错误导致2个短于正常的间隔,然后是类似于包含>的行的间隔。 0.5值。例如,第8行之后是两个较短的间隔,然后第10行又回到预期的速率。

在电子表格中,我使用了这个if /和语句来评估是否将提取的第9行和第10行加在一起。

IF(AND(row8<row7,row9<row7,sum(row8:row9)<120%*row7,sum(row8:row9),0)

我有一个单独的检查语句来测试第10行是否已正确确定。

IF(AND(row7*80%<=row10,120%*row7*120%>=row10),0,1)

因此,我想生成一个变量,该变量具有4个提取的行,具有计算的求和行(1.11或0)和检查行(1或0)。

   seq  rate   diff    sum    check
7    7  1.06   -0.07    0      0
8    8  0.23    0.83    1.05   1
9    9  0.82   -0.59    0      0
10  10  1.09   -0.27    0      0

然后,当检查值= 1时,我需要将包含sum值的行重新插入到数据帧中。然后,我可以使用seq上的数据框以正确的顺序排列。

最后,我需要循环数据帧并处理由1标记的下一组行。

如果我能得到一些如何实现这一目标的线索,那就太激动了。

问候

安德鲁

0 个答案:

没有答案