比较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"))