【发布时间】:2012-06-25 15:25:56
【问题描述】:
这个问题比较模糊,但是有没有人在 R 中使用过 biwavelet 包并且成功了?我有以下代码:
require(biwavelet)
t1 <- cbind(DecTime,Temp)
## continuous wavelet transform
wt1 <- wt(t1)
plot(wt1)
它返回错误:
image.default(x$t, yvals, t(zvals), zlim = zlims, ylim = rev(range(yvals)), 中的错误: 'x' 和 'y' 值必须是有限且非缺失的
我不明白这个错误,因为我的数据不包含任何缺失值并且它们都是有限的。
尝试重现示例时:
require(biwavelet)
Date = seq(from=as.POSIXct("2011-01-01 00:00"),
to=as.POSIXct("2011-12-31 23:00"), length=8760)
DecTime = julian(Date, Date[1])
data=cbind(as.numeric(DecTime), rnorm(8760))
## Continuous wavelet transform
wt.t1=wt(data)
plot(wt.t1)
它很烦人,因此我不知道为什么我的数据在这个包中失败。上面示例中的数据与我的数据是同一类,即“矩阵”。任何帮助或建议将不胜感激。
修改:
require(biwavelet)
Date = seq(from=as.POSIXct("2011-01-01 00:00"),
to=as.POSIXct("2011-12-31 23:00"), length=8760)
DecTime = julian(Date, Date[1])
D <- c(4.0267, 4.0211, 4.0005,4.0042,4.0042,4.0191)
data=cbind(as.numeric(DecTime[1:6]),as.numeric(D))
## Continuous wavelet transform
wt.t1=wt(data)
plot(wt.t1)
> data
[,1] [,2]
[1,] 0.00000000 4.0267
[2,] 0.04166667 4.0211
[3,] 0.08333333 4.0005
[4,] 0.12500000 4.0042
[5,] 0.16666667 4.0042
[6,] 0.20833333 4.0191
> class(data)
[1] "matrix"
> class(data[,1])
[1] "numeric"
> class(data[,2])
[1] "numeric"
> wt.t1=wt(data)
> plot(wt.t1)
Error in image.default(x$t, yvals, t(zvals), zlim = zlims, ylim = rev(range(yvals)), :
invalid z limits
【问题讨论】:
-
两者都是数字,这是混淆。
-
你的例子对我不起作用。
t1不存在。 -
如果您提供
DecTime和Temp,我很乐意尝试。这可能取决于这些对象的类型。 -
抱歉,我一定是提取了错误的代码部分。现已修改。
-
当我插入正态分布数据(使用 rnorm)但不包含我的数据时,上面的代码有效,即使它是“数字”