gpt4 book ai didi

r - 我如何计算超过 R 中的值需要多少天?

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

我有一个数据df2

      date    X Days
2020-01-06 525 NA
2020-01-07 799 NA
2020-01-08 782 NA
2020-01-09 542 NA
2020-01-10 638 5
2020-01-11 1000 5
2020-01-12 1400 3
2020-01-13 3500 1

我想计算 X 的总和超过某个值需要多少天。在本例中,值为 3000。比如1/13用了1天,因为X是3500,所以已经超过了3000。1/12用了3天(1400+1000+638)=3038。

我希望获得天数列。

dput(df2)
structure(list(date = structure(c(1578268800, 1578355200, 1578441600,
1578528000, 1578614400, 1578700800, 1578787200, 1578873600), class = c("POSIXct",
"POSIXt"), tzone = "UTC"), X = c(525, 799, 782, 542, 638, 1000,
1400, 3500), Days = c(NA, NA, NA, NA, 5, 5, 3, 1)), class = "data.frame", row.names = c(NA,
-8L))

最佳答案

我认为滚动功能效果很好。与大多数具有小于数据长度的固定窗口的滚动函数不同,我们将有意将其设为全角。

zoo::rollapplyr(
df2$X, nrow(df2),
FUN = function(z) which(cumsum(rev(z)) > 3000)[1],
partial = TRUE)
# [1] NA NA NA NA 5 5 3 1

(我忽略了 date,假设这些行是连续的天数。)

关于r - 我如何计算超过 R 中的值需要多少天?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70615834/

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