2017-08-26 16 views
0

在ts(時間序列)對象上使用「tsclean」函數時,只有一個值(2013-Dec)受到整體影響。不知道爲什麼。tsclean正在影響ts對象中的一個值

正如您所看到的「2013-Dec」值從29232改爲51654.24。休息是不變的。

> myts 
     Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec 
2013  44568 48528 46404 47772 57600 46116 20016 36504 47052 50076 29232 
2014 52956 40284 51264 45180 42552 54972 47376 25128 34776 44892 44280 41076 
2015 45036 50796 49572 39710 41045 62729 44424 18000 41642 42661 38487 51590 
2016 38702 44803 58228 47556 48492 56449 34925 16812 48630 46008 40140 62028 
> ifelse(tsclean(myts)<0, myts, tsclean(myts)) 
      Jan  Feb  Mar  Apr  May  Jun  Jul  Aug  Sep  Oct  Nov  Dec 
2013   44568.00 48528.00 46404.00 47772.00 57600.00 46116.00 20016.00 36504.00 47052.00 50076.00 51654.24 
2014 52956.00 40284.00 51264.00 45180.00 42552.00 54972.00 47376.00 25128.00 34776.00 44892.00 44280.00 41076.00 
2015 45036.00 50796.00 49572.00 39710.00 41045.00 62729.00 44424.00 18000.00 41642.00 42661.00 38487.00 51590.00 
2016 38702.00 44803.00 58228.00 47556.00 48492.00 56449.00 34925.00 16812.00 48630.00 46008.00 40140.00 62028.00 
> 

當我嘗試相同的值作爲tsclean的子集傳遞 - 它不會受到影響。

> window(myts, c(2013,12), c(2013,12)) 
     Dec 
2013 29232 

> tsclean(window(myts, c(2013,12), c(2013,12))) 
     Dec 
2013 29232 


> ifelse(tsclean(window(myts, c(2013,12), c(2013,12)))<0, window(myts, c(2013,12), c(2013,12)), tsclean(window(myts, c(2013,12), c(2013,12)))) 
     Dec 
2013 29232 

回答

相關問題