tsclean无法处理单个矢量数据

时间:2019-07-09 18:40:06

标签: r outliers

我附带了简单的数据系列。我清楚地看到一个异常值(Qty = 6),该异常值经过tsclean处理后应该得到纠正。有人可以帮忙吗? 数据是

c(6, 187, 323, 256, 289, 387, 335, 320, 362, 359, 426, 481, 
     356, 408, 497, 263, 330, 521, 406, 350, 478, 320, 339)

代码是

library(forecast)

data1 <- read_csv("sample.csv", col_names = FALSE)
count_qty <-ts(data1, frequency = 12)
data1$clean_qty = tsclean(count_qty)

数据返回

 X1 clean_qty[,"X1"]
<dbl>            <dbl>
 1     6                6
 2   187              187
 3   323              323
 4   256              256
 5   289              289
 6   387              387
 7   335              335
 8   320              320
 9   362              362
 10   359              359
 # ... with 13 more rows

第一个项目应该更改! 请帮助

1 个答案:

答案 0 :(得分:1)

您可以使用boxplot删除异常值:

vec1[! vec1 %in% boxplot(vec1, plot = F)$out]
 # [1] 323 256 289 387 335 320 362 359 426 481 356 408 497 263 330 521 406 350 478 320 339

请注意,187也是一个异常值。如您所说,6是显而易见的;