From c8b8331c5b6679346c913f63f45774e37cc66389 Mon Sep 17 00:00:00 2001 From: AQLT Date: Mon, 18 Sep 2023 23:25:23 +0200 Subject: [PATCH] names corrections in sarima_estimate --- R/arima.R | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/R/arima.R b/R/arima.R index f816b57..2df90fe 100644 --- a/R/arima.R +++ b/R/arima.R @@ -323,11 +323,24 @@ sarima_estimate<-function(x, order=c(0,0,0), seasonal = list(order=c(0,0,0), per bytes<-.jcall("jdplus/toolkit/base/r/arima/SarimaModels", "[B", "toBuffer", jestim) p<-RProtoBuf::read(regarima.RegArimaModel$Estimation, bytes) res <- .p2r_regarima_estimation(p) - names_xreg <- colnames(xreg) - if (mean) { - names_xreg <- c("intercept", names_xreg) + + if (length(res$b) > 0) { + + names_xreg <- colnames(xreg) + if (is.null (names_xreg) & !is.null (xreg)){ + if (is.matrix(xreg)) { + # unnamed matrix regressors + names_xreg <- sprintf("xreg_%i", seq_len(ncol(xreg))) + } else { + # vector external regressor + names_xreg <- "xreg_1" + } + } + if (mean) { + names_xreg <- c("intercept", names_xreg) + } + names(res$b) <- names_xreg } - names(res$b) <- names_xreg names(res$parameters$val) <- c(sprintf("phi(%i)", seq_len(order[1])), sprintf("bphi(%i)", seq_len(seasonal$order[1])), sprintf("theta(%i)", seq_len(order[3])),