首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >移除R中时间序列中的前导零点

移除R中时间序列中的前导零点
EN

Stack Overflow用户
提问于 2014-02-17 09:25:51
回答 2查看 1.9K关注 0票数 2

我有一个时间序列和下面的模式,我想知道是否有人可以分享一个聪明的技巧,以消除领先的零。我想避免的原因是,这可能对预测模型的选择有负面影响。

举例时间序列:

代码语言:javascript
复制
TimeSeries <- ts(c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
                   0, 0, 0, 0, 0, 0, 9, 10, 10, 16, 7, 13, 0, 9, 1, 
                   11, 2, 11, 3, 11, 4, 1, 20, 13, 18, 19, 16, 16, 16, 
                   15, 14, 27, 24, 35, 8, 18, 21, 20, 19, 22, 18, 21
),start=c(2001,6),frequency=12)

我可以想象这样一个过程,通过执行带有时间序列子集的多个测试来缩小前导零序列,然后只删除带有零的前导子集。然而,这将是一个繁琐的过程,在计算方面很可能效率低下。

是否有人知道一个已经存在的功能或程序来有效地做到这一点?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-17 09:34:03

这将只移除前导零,并保留在其他零中:

代码语言:javascript
复制
TimeSeries[cumsum(TimeSeries)!=0]
#[1]  9 10 10 16  7 13  0  9  1 11  2 11  3 11  4  1 20 13 18 19 16 16 16 15 14 27 24 35  8 18 21 20 19 22 18 21

为什么要这样做? cumsum的输出是:

代码语言:javascript
复制
cumsum(TimeSeries)
 [1]   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   9  19  29  45  52  65  65  74  75
[33]  86  88  99 102 113 117 118 138 151 169 188 204 220 236 251 265 292 316 351 359 377 398 418 418 437 459 477 498

因此,只有在只有零的情况下,结果才等于零。如果在时间序列的一半处有一个零,累积和不会改变,但不会是零。

如果时间序列中存在负值,则可以使用:

代码语言:javascript
复制
TimeSeries[cumsum(abs(TimeSeries))!=0]
票数 6
EN

Stack Overflow用户

发布于 2014-02-17 09:29:47

TimeSeries[TimeSeries != 0]...为我工作,也许是更好的出路,尽管:

代码语言:javascript
复制
> TimeSeries <- ts(c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
                   0, 0, 0, 0, 0, 0, 9, 10, 10, 16, 7, 13, 0, 9, 1, 
                   11, 2, 11, 3, 11, 4, 1, 20, 13, 18, 19, 16, 16, 16, 
                   15, 14, 27, 24, 35, 8, 18, 21, 20, 19, 22, 18, 21
),start=c(2001,6),frequency=12)
> TimeSeries[TimeSeries != 0]
 [1]  9 10 10 16  7 13  9  1 11  2 11  3 11  4  1 20 13 18 19 16 16 16 15 14 27
[26] 24 35  8 18 21 20 19 22 18 21
>

希望这能帮上忙!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21825169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档