R 按另一列中的更改对数据进行分组

R 按另一列中的更改对数据进行分组,r,tidyverse,R,Tidyverse,给定如下数据帧: station <- c(1, 2, 3, 1, 2, 3, 1, 2, 2, 2) obs <- c(12.3, 10.4, 9.8, 15.9, 8.2, 8.4, 6.3, 10.2, 9.0, 8.3) df <- data.frame(station, obs) run := 1 if station(previous) >= station(current): run := run + 1 如果我用另一种语言编写,我的伪代码将如下所示

给定如下数据帧:

station <- c(1, 2, 3, 1, 2, 3, 1, 2, 2, 2)
obs <- c(12.3, 10.4, 9.8, 15.9, 8.2, 8.4, 6.3, 10.2, 9.0, 8.3)
df <- data.frame(station, obs)
run := 1
if station(previous) >= station(current):
  run := run + 1
如果我用另一种语言编写,我的伪代码将如下所示:

station <- c(1, 2, 3, 1, 2, 3, 1, 2, 2, 2)
obs <- c(12.3, 10.4, 9.8, 15.9, 8.2, 8.4, 6.3, 10.2, 9.0, 8.3)
df <- data.frame(station, obs)
run := 1
if station(previous) >= station(current):
  run := run + 1
如何在R中与
tidyr
和朋友一起执行此操作

library(dplyr)

df %>% 
  mutate(run = cumsum(c(TRUE, diff(station)<=0)))

您从哪里获得
temp
?你是说obs?另外,请用文字解释你需要什么,而不是用“伪代码”…@RichScriven是的,我的意思是
dplyr
。至于剪贴失败,我还没来得及修复,就被别人修复了——谢谢!