我有一个每天的时间序列,其中包含多个站点30年的数据。我正在使用R中的biwavelet包通过以下代码测试数据的周期性
di <- data.frame(d1$date, d1$t_min)
wt.t1 = wt(di)
par(oma = c(0, 0, 0, 1), mar = c(5, 4, 4, 5) + 0.1)
plot(wt.t1, plot.cb = TRUE, plot.phase = FALSE)当运行代码时,我得到了这个错误
Error in lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) :
0 (non-NA) cases我正在使用的一些数据集每年都会有一些缺失的日值。我是一个很新的R和编程新手。似乎在使用双小波包时,缺失值会导致这样的错误?我的问题是,有没有办法在R中解决这个问题?
发布于 2015-06-25 07:32:36
我遇到了同样的问题。我不是小波或信号处理专家,所以很抱歉我缺乏技术性。
如果缺少数据(NA%s),wt将不起作用。如果您试图完全删除带有NAs的行,它将抱怨您提供的数据不是以“定期采样间隔”获取的。
如果你丢失的数据非常罕见,你可以将你的数据集分成“块”,其中有连续的,规则间隔的数据……并独立地对每个“块”运行wt。然而,通过将数据集划分为较小的集合,wt失去了发现低频的能力。如果你感兴趣的频率范围足够高,在你的连续数据的“块”中有几个周期,这是很好的。
发布于 2016-04-27 23:45:31
尝试将NAs替换为0。
data[is.na(data)] <- 0https://stackoverflow.com/questions/26787537
复制相似问题