gpt4 book ai didi

r - 计算 NA 之间的行数

转载 作者:行者123 更新时间:2023-12-04 16:25:52 25 4
gpt4 key购买 nike

我正在尝试从先前创建的结果集中获取特定计数。我需要包含 NA 的行之间的行数。这些行的值的聚合并不重要,只有计数。

下面是一个非常简单的例子,希望能更好地解释我在说什么。左边是实际数据,右边是期望的结果。

+------+-------+---+------+------+
|时间 |值(value) | - |时间 |结果 |
+------+-------+---+------+------+
| 10 |不适用 | - | 20 | 2 |
| 20 | 0 | - | 60 | 3 |
| 30 | 1 | - | | |
| 40 |不适用 | - | | |
| 50 |不适用 | - | | |
| 60 | 30 | - | | |
| 70 | 68 | - | | |
| 80 | 0 | - | | |
| 90 |不适用 | - | | |
+------+-------+---+------+------+

欢迎提出任何意见。如果需要额外的输入,请留言。

最佳答案

为了使我的答案在这里完整,修改后的版本:

d <- data.frame( TIME = seq(10, 90, by = 10), Value = c(NA, 0, 1, NA, NA, 30, 68, 0, NA))


aux <- rle(as.numeric((!is.na(d[,2]))))

cbind(TIME = d[cumsum(aux$lengths)[which(aux$values == 1)] - aux$lengths[aux$values == 1] +1, 1],
Result = rle(is.na(d$Value))$lengths[!rle(is.na(d$Value))$values])
TIME Result
[1,] 2 20
[2,] 3 60

关于r - 计算 NA 之间的行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26761849/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com