R 如何从累积时间序列中获取阈值

R 如何从累积时间序列中获取阈值,r,R,在R中,如果我有这样一个时间序列: datetime value 2014-12-01 00:00 100 2014-12-01 01:00 111 2014-12-01 02:00 98 2014-12-01 03:00 127 2014-12-01 04:00 114 2014-12-01 05:00 105 ... 当此系列的累积值达到某个值时,如何获得插值日期时间?大概是这样的: somefunction(data, 250) // returns 201

在R中,如果我有这样一个时间序列:

datetime          value
2014-12-01 00:00  100
2014-12-01 01:00  111
2014-12-01 02:00  98
2014-12-01 03:00  127
2014-12-01 04:00  114
2014-12-01 05:00  105
...
当此系列的累积值达到某个值时,如何获得插值日期时间?大概是这样的:

somefunction(data, 250) // returns 2014-12-01 01:23
foo <- structure(list(datetime = structure(c(1417388400, 1417392000, 
1417395600, 1417399200, 1417402800, 1417406400), class = c("POSIXct", 
"POSIXt"), tzone = ""), value = c(100, 111, 98, 127, 114, 105
)), .Names = c("datetime", "value"), row.names = c(NA, -6L), class = "data.frame")
foo
             datetime value
1 2014-12-01 00:00:00   100
2 2014-12-01 01:00:00   111
3 2014-12-01 02:00:00    98
4 2014-12-01 03:00:00   127
5 2014-12-01 04:00:00   114
6 2014-12-01 05:00:00   105

您可以使用
近似值

Data <- structure(list(datetime = structure(c(1417413600, 1417417200, 
  1417420800, 1417424400, 1417428000, 1417431600), class = c("POSIXct", 
  "POSIXt"), tzone = ""), value = c(100L, 111L, 98L, 127L, 114L, 105L)),
  .Names = c("datetime", "value"), row.names = c(NA, -6L),
  class = "data.frame")
itime <- .POSIXct(approx(cumsum(Data$value), Data$datetime, 250)$y,
                  tz=attr(Data$datetime, "tzone"))

Data首先,确保您的
datetime
是一个漂亮的
POSIXct
对象,如下所示:

somefunction(data, 250) // returns 2014-12-01 01:23
foo <- structure(list(datetime = structure(c(1417388400, 1417392000, 
1417395600, 1417399200, 1417402800, 1417406400), class = c("POSIXct", 
"POSIXt"), tzone = ""), value = c(100, 111, 98, 127, 114, 105
)), .Names = c("datetime", "value"), row.names = c(NA, -6L), class = "data.frame")
foo
             datetime value
1 2014-12-01 00:00:00   100
2 2014-12-01 01:00:00   111
3 2014-12-01 02:00:00    98
4 2014-12-01 03:00:00   127
5 2014-12-01 04:00:00   114
6 2014-12-01 05:00:00   105

您需要确保结果的时区与输入的时区匹配。