比较R中的连续行,显示它们是增加还是减少

比较R中的连续行,显示它们是增加还是减少,r,R,所以我有呼吸数据,看起来像这样: Time Resp 1 344.56 .003423 2 346.36 -.002452 3 348.43 .005053 4 350.64 -.006432 5 352.65 .008543 6 354.12 -.003654 使用R,我想标记何时存在吸气点和呼气点,即每行之间存在正向值和负向值的点 例如,第1行到第2行有负向响应(.003423到-.002452),所以我试图找出一种方法来显示时间344.56到

所以我有呼吸数据,看起来像这样:

   Time      Resp
1  344.56   .003423
2  346.36  -.002452
3  348.43   .005053
4  350.64  -.006432
5  352.65   .008543
6  354.12  -.003654
使用R,我想标记何时存在吸气点和呼气点,即每行之间存在正向值和负向值的点

例如,第1行到第2行有负向响应(.003423到-.002452),所以我试图找出一种方法来显示时间344.56到时间346.36=“呼气”(负向)。第2行到第3行将显示时间346.36到时间348.43=“吸入”(正向),依此类推

我浏览了stackexchange和其他网站,并尝试了各种功能,如
rep
seq
(以及尝试使用
dplyr
),但我运气不好(坦率地说,我已经几年没有使用R了)

对这个问题的任何洞察都是非常好的


谢谢

这就是你要找的吗

library(dplyr)

df %>%
        mutate(Col = ifelse(Resp - lag(Resp) >= 0, "Inhalation", "Exhalation"))
#一个tible:6 x 3
时间响应
1  345.  0.00342 NA
2  346. -0.00245呼气
3  348.  0.00505吸入
4  351. -0.00643呼气
5  353.  0.00854吸入
6  354. -0.00365呼气
数据

df <- structure(list(Time = c(344.56, 346.36, 348.43, 350.64, 352.65, 
354.12), Resp = c(0.003423, -0.002452, 0.005053, -0.006432, 0.008543, 
-0.003654)), row.names = c(NA, -6L), class = c("tbl_df", "tbl", "data.frame"))

df您能解释一下您的预期输出是什么吗?你只想呼气吗
df <- structure(list(Time = c(344.56, 346.36, 348.43, 350.64, 352.65, 
354.12), Resp = c(0.003423, -0.002452, 0.005053, -0.006432, 0.008543, 
-0.003654)), row.names = c(NA, -6L), class = c("tbl_df", "tbl", "data.frame"))