I am trying to add an external regressor xreg
into the hts
package, however I am getting an error regarding the number of rows (140) despite my external variable has the same number. I have checked other answers but mine is more simple:
Here is the reproducible example
library(hts)
abc <- matrix(sample(1:100, 32*140, replace=TRUE), ncol=32)
colnames(abc) <- c(
paste0("A0",1:5),
paste0("B0",1:9),"B10",
paste0("C0",1:8),
paste0("D0",1:5),
paste0("E0",1:4)
)
abc <- ts(abc, start=2019, frequency=365.25/7)
x <- hts(abc, characters = c(1,2))
data <- window(x, start = 2019.000, end = 2021.166)
test <- window(x, start = 2021.185)
x2 <- runif(n = 140, min = 1, max = 10) #External regressor with the same size
fcastsxreg <- forecast( data, h = 2, method = "comb", algorithms = "lu", fmethod = "arima", weights=, "wls", nonnegative=TRUE, xreg=x2)
accuracy(fcastsxreg, test, levels = 1)
The error message is about the mismatch between de size of abc matrix an x2 vector despite both have 140 rows
Error in model.frame.default(formula = x ~ xregg, drop.unused.levels = TRUE) :
variable lengths differ (found for 'xregg')
In addition: Warning message:
In !is.na(x) & !is.na(rowSums(xregg)) :
longer object length is not a multiple of shorter object length
Thank you