集合经验模式分解

时间:2013-12-24 17:09:38

标签: r rstudio

我试图在某个xts对象数据上使用EEMD,并得到了下一个回复:

Error in `/.difftime`(diff(unphase, lag), diff(tt, lag)) : 
  second argument of / cannot be a "difftime" object

我写信给你是因为我不知道可能出现什么问题并且已经在www搜索了答案,但找不到任何答案。使用它时我的代码是

load("C:/Users/Domen/Desktop/SnP_close.Rdata")
here <- EEMD(sig=as.numeric(Snp[,1]),tt=time(Snp[,1]),noise.amp=100,trials=100,nimf=6,trials.dir="trials")

1 个答案:

答案 0 :(得分:0)

这个:Error in /。difftime (diff(unphase, lag), diff(tt, lag))告诉你'difftime'类的“/”函数(因为S3函数调度由第一个参数决定)不能用a除以价值也是'difftime'。我自己有时对'difftime'对象的操作限制感到恼火。我通常最终会在你开始时转换为数字,但可能需要更进一步。也许:

here <- EEMD( sig=as.numeric(Snp[,1]), tt=as.numeric( time(Snp[,1] ) ), 
               noise.amp=100,trials=100,nimf=6,trials.dir="trials")

如果没有具体的例子,这只是猜测。参数列表中的'tt'变量可能与抛出错误的参数相同。 (或者它可能没有。这取决于函数如何在内部定义它们的变量。)看来你不仅使用'xts'包而且还使用另一个具有time函数的包,以及未命名的包那个EEMD。您应该命名所需的所有包,并包含具有dput的特定数据对象。