使用特定条件对事件进行计数以获取 R 中的事件含义

引入

我是 R 的初学者,但直到这一刻,我才能找到与 R 编码相关的所有答案。这次我什至不知道从哪里开始,所以我会很感激你的帮助。我有一个 .csv 文件,我的数据片段如下:

   `year `               `1k`  `2k`  `3k`  `4k`  `5k`                  
 1 `1981-01-01 00:00:00 NA    NA    NA    NA    NA`   
 2 `1981-01-02 00:00:00 NA    NA    NA    NA    NA`   
 3 `1981-01-03 00:00:00 NA    NA    NA    NA    NA`   
 4 `1981-01-04 00:00:00 NA    NA    COLD  COLD  COLD`   
 5 `1981-01-05 00:00:00 NA    NA    NA    COLD  NA`   
 6 `1981-01-06 00:00:00 COLD  NA    NA    COLD  NA`   
 7 `1981-01-07 00:00:00 COLD  NA    NA    COLD  NA`   
 8 `1981-01-08 00:00:00 COLD  NA    NA    COLD  COLD`   
 9 `1981-01-09 00:00:00 COLD  NA    NA    NA    NA`   
10 `1981-01-10 00:00:00 NA    NA    NA    NA    NA`   
11 `1981-01-11 00:00:00 NA    COLD  NA    NA    NA`   
12 `1981-01-12 00:00:00 NA    COLD  NA    COLD  COLD`   
13 `1981-01-13 00:00:00 NA    NA    NA    NA    NA`   
14 `1981-01-14 00:00:00 COLD  NA    NA    NA    NA`   
15 `1981-01-15 00:00:00 NA    NA    NA    NA    NA`   
16 `1981-01-16 00:00:00 COLD  NA    NA    NA    NA`   
17 `1981-01-17 00:00:00 NA    NA    NA    NA    NA`   
18 `1981-01-18 00:00:00 NA    NA    NA    COLD  NA`   
19 `1981-01-19 00:00:00 NA    NA    NA    COLD  NA`   
20 `1981-01-20 00:00:00 NA    NA    NA    COLD  NA`  

我知道如何计算COLD事件的数量,但我需要一个特定的条件 -> 计算COLD连续3 个或更多记录的所有事件,然后对每列 k1、k2、k3...等中的所有事件求和。分别地。对于给定的数据示例,它将是:k1=1、k2=0、k3=0、k4=2、k5=0。我想使用重复循环,但真的不知道从哪里开始。

理查德莫雷

跨列使用“运行长度编码”(rle)。这是一个执行此操作的函数(假设您的数据框是df

rle_col = function(k_col, num = 3){
  k_col[is.na(k_col)] = "NA" # convert NAs
  r = rle(k_col) # run length encoding
  which_cold = r$values == "COLD"
  sum(r$lengths[which_cold] >= num)
}

sapply(df[-1], rle_col)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何基于DataFrame中的多个条件对事件进行计数

基于多个因素对事件进行计数

在 R 中,您可以按长度对事件之间的间隔进行分组吗?

使用 group_by 对除具有特定条件的行以外的所有行进行子集化,以获取 r 中不同数量的变量

在 R 中:根据事件的 ID 对事件序列进行分组,并计算第一个和最后一个看到的事件之间的时间差

用事件历史记录对事件进行计数

使用R中的特定条件聚合nc文件

R中%o%的含义

r 中语句的含义?

如何根据特定条件对SSIS中的行进行计数?

跟踪R中特定事件的数据框

如何按周对事件进行分组和计数?

使用 for 循环进行事件的 R 生存分析中的错误

箭头的事件队列含义

对事件使用委托

通过AND使用两个条件对事件日志进行XML过滤

在 R 中对具有特定条件的数据帧进行子集

根据特定条件对数据进行分组并在 R 或 Python 中查找持续时间

R 根据特定条件对所有列中的数据进行分组并减去行

在R中具有特定条件的多个列进行突变

根据情况对事件进行计数并保存在新列中

R中的tcltk tktext中的重写事件

让用户对事件进行RSVP?

用R中的数组事件计数创建数组

过滤在r中事件“ A”的时间范围内发生的事件

在 R 中查找一天中特定事件的发生

是否可以根据特定参数对事件进行分组并在每组中运行 Flink CEP 模式?

在 R-studio 中,如何使用相同的 [i] 重复 for 循环,直到满足特定条件?

计算R中的有序事件#