【发布时间】:2021-05-22 13:54:59
【问题描述】:
我想根据以下条件在 R 中选择我的数据的子样本: t1(组的第一行) - t1(组的第 i 行) >= 2.
虚拟数据:
id <- c(1,1,1,1,1,1,1,1,2,2,2,2,2,2,2)
t1 <- c(4,3,3,2,2,2,1,1,8,8,7,7,7,6,3)
df <- data.frame(id, t1)
具体来说,我的预期输出是:
id <- c(1,1,1,1,1,2,2)
t1 <- c(2,2,2,1,1,6,3)
df2 <- data.frame(id, t1)
我正在尝试使用dplyr、group_by() 和filter() 找到解决方案,但我找不到包含每个组第一行索引的方法。
我试过了:
df %>% group_by(id)%>% filter(lag(t1)-t1 >= 2)
但这不是我想要的,也许是使用row_number() 的东西?
【问题讨论】: