有人能提出以下示例代码不起作用的原因吗?
require(biwavelet)
t <- seq(1/24, 365, 1/24)
A <- 2
fs <- 1/24
y <- A + sin(2*pi*fs*t)
d = cbind(t,y)
wt.t1 <- wt(d)
plot(wt.t1)它会生成一个错误,指出:
Error in image.default(x$t, yvals, t(zvals), zlim = zlims, ylim = rev(range(yvals)), :
invalid z limits我该怎么解决这个问题?
附加信息:
针对Gavin的回答:如果我将数据只包含一个频率,但改变时间向量,代码就能正常工作。
require(biwavelet)
A <- 2
fs <- 1/24
y <- A + sin(2*pi*fs*t)
d <- cbind(seq(1,8760), y)
wt.t1 <- wt(d)
plot(wt.t1)发布于 2012-08-14 13:24:27
我怀疑这是因为这里只有一个频率,而且函数没有设置好。我可以通过在y中添加白噪声来得到一个图
require(biwavelet)
t <- seq(1/24, 365, 1/24)
A <- 2
fs <- 1/24
y <- A + sin(2*pi*fs*t)
d <- cbind(t, y + rnorm(length(y))) ## add some white noise to y
wt.t1 <- wt(d)
plot(wt.t1)您可能希望与维护人员联系以报告此问题。当我调试它并反转zlim使diff(zlim)是正数时,我得到了做一些事情的计划,所以可能是plot()方法的作者所做的假设在所有情况下都不成立。
发布于 2012-10-07 07:15:10
您在wt.R函数中发现了一个错误(错误括号)。这个bug已经修复在双小波包的0.12版本中,所以上面这两个版本的代码现在都可以工作了。
谢谢你发现了错误。请不要犹豫,给软件包的维护者(也就是我)发电子邮件,告诉他们将来的错误。
https://stackoverflow.com/questions/11952538
复制相似问题