不存在 NA 值时出现 R tsclean "Error in approx(idx, x[idx], tt, rule = 2) : need at least two non-NA values to interpolate" 错误
R tsclean "Error in approx(idx, x[idx], tt, rule = 2) : need at least two non-NA values to interpolate" error when no NA values are present
以下代码在主题中产生错误(假设您已安装 forecast
):
foo <- c(0.011033, 0.074117, 0.023965, 0.024718, 0.023735)
forecast::tsclean(foo)
即使仅对其中一个数字进行扰动,例如 0.1,也可以避免错误。奇怪的是,在上述向量的仿射变换下错误仍然存在(这意味着您可以向整个向量添加一个常数,并通过某个常数缩放每个值,并且错误仍然存在)。
我是 运行 R 4.0.0 和 forecast
的最新开发版本(尽管在我更新到开发版本之前也发生了错误)。
我知道以前有一个与常量向量类似的问题,但我无法映射到此。有任何想法吗?谢谢!
tsclean()
首先 运行 tsoutliers()
找到系列中的异常值,并用 NA 替换它们。然后它使用平滑趋势模型估计这些异常值的值。
tsoutliers()
是一个迭代过程。在此示例中,前 2 个观察值在第一遍中被视为异常值并被 NA 替换。在第二遍中,最后 2 个观察值被认为是异常值并被 NAs 取代。然后只剩下一个 non-NA 个观察,过程失败。
我已经在 github 上修复了软件包的开发版本中的问题。现在它给出以下结果:
foo <- c(0.011033, 0.074117, 0.023965, 0.024718, 0.023735)
forecast::tsclean(foo)
#> [1] 0.023965 0.023965 0.023965 0.023965 0.023965
由 reprex package (v0.3.0)
于 2020 年 11 月 10 日创建
以下代码在主题中产生错误(假设您已安装 forecast
):
foo <- c(0.011033, 0.074117, 0.023965, 0.024718, 0.023735)
forecast::tsclean(foo)
即使仅对其中一个数字进行扰动,例如 0.1,也可以避免错误。奇怪的是,在上述向量的仿射变换下错误仍然存在(这意味着您可以向整个向量添加一个常数,并通过某个常数缩放每个值,并且错误仍然存在)。
我是 运行 R 4.0.0 和 forecast
的最新开发版本(尽管在我更新到开发版本之前也发生了错误)。
我知道以前有一个与常量向量类似的问题,但我无法映射到此。有任何想法吗?谢谢!
tsclean()
首先 运行 tsoutliers()
找到系列中的异常值,并用 NA 替换它们。然后它使用平滑趋势模型估计这些异常值的值。
tsoutliers()
是一个迭代过程。在此示例中,前 2 个观察值在第一遍中被视为异常值并被 NA 替换。在第二遍中,最后 2 个观察值被认为是异常值并被 NAs 取代。然后只剩下一个 non-NA 个观察,过程失败。
我已经在 github 上修复了软件包的开发版本中的问题。现在它给出以下结果:
foo <- c(0.011033, 0.074117, 0.023965, 0.024718, 0.023735)
forecast::tsclean(foo)
#> [1] 0.023965 0.023965 0.023965 0.023965 0.023965
由 reprex package (v0.3.0)
于 2020 年 11 月 10 日创建