r - 如何为数据框中的事件分配特定值?

标签 r dataframe

我有以下数据。

DOY  <- c(1:30) #Day of Year
rain <- c(0,0,0,0,0,0,0,5.5,15.5,20.1,10.4,0,0,0,0,0,0,0,0,7.6,19.2,44.5,3.4,5.5,0,0,0,0,0,0)
DF <- data.frame(DOY=DOY,rain=rain)

我只对下雨的日子、降雨事件感兴趣。

DF <- DF[DF$rain > 0,]

df的输出,这是降雨事件:

DOY rain
8   5.5
9   15.5
10  20.1
11  10.4
20  7.6
21  19.2
22  44.5
23  3.4
24  5.5

在我的示例中,我有两个降雨事件。如果连续几天不下雨,则始终是一个新事件。 现在我想为每个降雨事件分配一个 ID 。像这样的东西是我的预期输出。

DOY rain ID
8   5.5  1
9   15.5 1
10  20.1 1
11  10.4 1
20  7.6  2
21  19.2 2
22  44.5 2
23  3.4  2
24  5.5  2

最佳答案

您可以使用:

cumsum(+c(TRUE, diff(DF$DOY) > 1))

关于r - 如何为数据框中的事件分配特定值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59268103/

相关文章:

python - Pandas - 无法让 Series.isin 工作

R 重复数据框元素

r - purrr::map 和 dplyr 的组合给出的结果与简单的统计测试不一致

r - 查找 data.table 中重复序列的最长长度和值

r - 从 Rdata 文件中获取特定对象

python - MultiIndex 的 Pandas 选择

string - 从CSV文件读取的数据帧中删除级别-R

r - 从R中的文件创建向量

python-3.x - 合并两个 pandas 数据框,并在由管道分隔的列中输入匹配的条目

python - 如何从 pandas 数据框中的时间戳中提取月份?