我试图在某个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")
答案 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
的特定数据对象。