繁体   English   中英

有人可以解释端点 function 的工作原理吗?

[英]Can someone explain how endpoints function works?

我不明白为什么我会从端点 function 收到 output,而我期待别的东西。 我写了一个伪代码,有人可以解释一下机制吗?

y1<-rep(1,times=750)
y1<-xts(y1, order.by = Sys.Date()-1:750)
endpoints(y1,'days',250)

使用此代码 R 返回0 123 347 484 713 750 它不应该返回250 500 750吗? 或者它将如何返回这些索引? 谢谢

看起来endpoints总是在年底生成一个点,并且k从年初开始计算:

y1[endpoints(y1,'days',k=250)]
           [,1]
2019-09-07    1
2019-12-31    1
2020-09-06    1
2020-12-31    1
2021-02-06    1

以上结果是一年中的第 250 天或年末。
在文档中没有明确提到这一点,但源代码显示即使计算days数, year也起着关键作用:


days = {
    ixyday <- posixltindex$year * 1000L + 1900000L + posixltindex$yday
    .Call("endpoints", ixyday, 1L, k, addlast, PACKAGE = "xts")
  }

要获取您正在寻找的索引,您可以使用%% (模运算符):

which(1:750%%250==0)
[1] 250 500 750

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM