tsfeatures()
говорит о том, что approx()
терпит неудачу из-за необходимости по крайней мере двух значений не-NA для интерполяции.Я не могу найти никаких NA в моем временном ряду или индексе временного ряда, и я могу построить игрушечный пример без значений NA, упорядоченных и уникальных индексов и все еще воспроизводить ошибку.
Кажется, что естьнесколько предыдущих вопросов, касающихся функции R tsfeatures()
, но я не могу найти тот, который объясняет, почему я получаю сообщение об ошибке:
Error in approx(idx, x[idx], tt, rule = 2) :
need at least two non-NA values to interpolate
# datetimes has type POSIXct
Browse[3]> class(datetimes[1:3])
[1] "POSIXct" "POSIXt"
# the first three date times are unique and ordered
Browse[3]> datetimes[1:3]
[1] "2019-06-18 19:59:48 PDT" "2019-06-18 20:00:48 PDT" "2019-06-18 20:01:48 PDT"
# create our time series
Browse[3]> temp = xts(x = c(0, 0, 0), order.by = datetimes[1:3])
Browse[3]> temp
[,1]
2019-06-18 19:59:48 0
2019-06-18 20:00:48 0
2019-06-18 20:01:48 0
# try to get our features:
Browse[3]> tsfeatures(temp)
Error in approx(idx, x[idx], tt, rule = 2) :
need at least two non-NA values to interpolate
Редактировать: Мой товарищ по команде и я обнаружили, чтоСообщение об ошибке отображается, если временной ряд состоит из совершенно одинакового значения:
Browse[3]> tsfeatures(xts(x = c(1, 1, 1), order.by = datetimes[1:3]))
Error in approx(idx, x[idx], tt, rule = 2) :
need at least two non-NA values to interpolate
Browse[3]> tsfeatures(xts(x = c(1, 2, 1), order.by = datetimes[1:3]))
# A tibble: 1 x 16
frequency nperiods seasonal_period trend spike linearity curvature e_acf1 e_acf10 entropy x_acf1 x_acf10 diff1_acf1 diff1_acf10 diff2_acf1 diff2_acf10
<dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 0.0167 0 0.0167 1.11e-16 0.333 -6.04e-32 3.49e-32 -0.667 NA NA -0.667 NA -0.5 0.25 NA 0
Может кто-нибудь объяснить сообщение об ошибке?