> Dear Martin, > REgrets to reply this late....
> I am staring at a conundrum never before encountered in my experience with R: > LYGH[[201]] > [1] 45.40 3.25 6.50 2.15 > > arfima(LYGH[[201]]) > Error in .fdcov(x, fdf$d, h, nar = nar, nma = nma, hess = hess, fdf.work = > fdf$w) : > NA/NaN/Inf in foreign function call (arg 5) > > arfima(c(45.40,3.25,6.50,2.15)) > Call: > arfima(y = c(45.4, 3.25, 6.5, 2.15)) > Coefficients: > d > 4.583013e-05 > sigma[eps] = 18.01252 > a list with components: > [1] "log.likelihood" "n" "msg" "d" > "ar" > [6] "ma" "covariance.dpq" "fnormMin" "sigma" > "stderror.dpq" > [11] "correlation.dpq" "h" "d.tol" "M" > "hessian.dpq" > [16] "length.w" "residuals" "fitted" "call" > "x" > [21] "series" > Please note that the index of LYGH has changed from 202 to 201 due to some > randomness in one of my function. > PLEASE HELP. > Output of dput LYGH[[201]]: > > dput(LYGH[[201]]) > c(45.4, 3.25, 6.5, 2.14999999999998) > output of session info() > sessionInfo() > R version 4.1.2 (2021-11-01) > Platform: x86_64-w64-mingw32/x64 (64-bit) > Running under: Windows Server x64 (build 14393) > Matrix products: default > locale: > [1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252 > [3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C > [5] LC_TIME=English_United States.1252 > attached base packages: > [1] parallel stats graphics grDevices utils datasets methods base > other attached packages: > [1] pbmcapply_1.5.1 imputeTS_3.3 forecast_8.17.0 > loaded via a namespace (and not attached): > [1] Rcpp_1.0.7 urca_1.3-3 pillar_1.9.0 compiler_4.1.2 > tseries_0.10-51 > [6] tools_4.1.2 xts_0.12.1 nlme_3.1-153 lifecycle_1.0.3 > tibble_3.2.1 > [11] gtable_0.3.3 lattice_0.20-45 pkgconfig_2.0.3 rlang_1.1.0 > cli_3.6.1 > [16] rstudioapi_0.14 curl_4.3.2 xml2_1.3.3 dplyr_1.1.1 > generics_0.1.3 > [21] vctrs_0.6.1 gridtext_0.1.5 ggtext_0.1.2 lmtest_0.9-40 > grid_4.1.2 > [26] nnet_7.3-16 tidyselect_1.2.0 glue_1.6.2 R6_2.5.1 > fansi_1.0.4 > [31] ggplot2_3.4.2 TTR_0.24.3 magrittr_2.0.3 scales_1.2.1 > quantmod_0.4.20 > [36] timeDate_4021.106 colorspace_2.1-0 fracdiff_1.5-1 quadprog_1.5-8 > utf8_1.2.3 > [41] stinepack_1.4 munsell_0.5.0 zoo_1.8-10 > PLease Also note: > arfima(c(45.4, 3.25, 6.5, 2.14999999999998)) > Call: > arfima(y = c(45.4, 3.25, 6.5, 2.14999999999998)) > Coefficients: > d > 4.583013e-05 > sigma[eps] = 18.01252 > a list with components: > [1] "log.likelihood" "n" "msg" "d" > "ar" > [6] "ma" "covariance.dpq" "fnormMin" "sigma" > "stderror.dpq" > [11] "correlation.dpq" "h" "d.tol" "M" > "hessian.dpq" > [16] "length.w" "residuals" "fitted" "call" > "x" > [21] "series" > Many thanks in advance.... > Thanking you, > Yours sincerely, > AKSHAY M KULKARNI Hmm... indeed, "conundrum" may be a euphemism for the situation..... which clearly points to a bug *somewhere*. As your dput() shows, the argument *is* a simple vector .. and even if the default dput() may loose a few bits in precison... you did show that with (possibly only almost) identical argument, the error did not happen. I really have no idea what's going on, .... Some musing/ideas: the NA/NaN/Inf warning may come from a memory corruption problem somewhere because some of the involved packages using compiled code or the old version of R/lapack/??? or ??? cause it. Does the error only happen occasionally? If you "randomly" do a few calls of either arfima(c(45.4, 3.25, 6.5, 2.14999999999998)) or arfima(LYGH[[201]]) do you see "random" behavior? [if yes; this confirms typically memory protection/allocation/... bugs] fracdiff itself has also been updated (to 1.5-2) but that was really only a compiler warning, not a bug fix, and I cannot imagine that that makes the difference. I think you should consider let your 'Windows Server' provider update R on that server. Notably the Windows version of R has had problems fixed in the mean time .. and at least there's a hope the problem disappears. Lastly (but probably not helping more), you could use dput() with control="digits" and even .Internal(inspect( * )) magic on your LYGH[[201]] When I use simple numeric vectors "like" your LYGH[..], I get > dput(c(45.4, 3.25, 6.5, 2.15), control="digits") c(45.399999999999999, 3.25, 6.5, 2.1499999999999999) > .Internal(inspect(c(45.4, 3.25, 6.5, 2.15)) + ) @9874728 14 REALSXP g0c3 [] (len=4, tl=0) 45.4,3.25,6.5,2.15 > Martin > ________________________________ > From: Martin Maechler <maech...@stat.math.ethz.ch> > Sent: Thursday, June 1, 2023 1:28 PM > To: akshay kulkarni <akshay...@hotmail.com> > Cc: R help Mailing list <r-help@r-project.org> > Subject: Re: [R] error in arfima... > >>>>> akshay kulkarni > >>>>> on Wed, 31 May 2023 20:55:33 +0000 writes: > > dear members, > > I am using arfima() from forecast package to model a time > > series. The following is the code: > >> LYGH[[202]] > > [1] 45.40 3.25 6.50 2.15 > >> arfima(LYGH[[202]]) > > Error in .fdcov(x, fdf$d, h, nar = nar, nma = nma, hess = hess, > fdf.work = fdf$w) : > > NA/NaN/Inf in foreign function call (arg 5) > > I tried viewing .fdcov() with the following code: > > View(environment(fracdiff)$.fdcov) > > but I see no stop() with the above mentioned error message. > > Can you please help? > Well, as I am the maintainer of the *fracdiff* package, > I'm trying. OTOH, as we will see below, you did not give us enough > information to really help you... > > THanking you, > > Yours sincerely, > > AKSHAY M KULKARNI > Your problem is not (yet) reproducible (*) > I've done the following in an "empty" (i.e. freshly started) R > session, R 4.3.0: > ----begin_R_transcript___save_as__arfima-ex.Rout__------------------------------ > > > > lN <- loadedNamespaces() > > library(forecast) > Registered S3 method overwritten by 'quantmod': > method from > as.zoo.data.frame zoo > > options(width=75) > > setdiff(loadedNamespaces(), lN) # -- see all the *!^@...! forecast loads: > [1] "gtable" "dplyr" "tidyselect" "Rcpp" "parallel" > [6] "scales" "lattice" "ggplot2" "R6" "generics" > [11] "curl" "lmtest" "tibble" "munsell" "nnet" > [16] "forecast" "timeDate" "pillar" "rlang" "quantmod" > [21] "utf8" "urca" "quadprog" "cli" "magrittr" > [26] "xts" "grid" "nlme" "lifecycle" "fracdiff" > [31] "vctrs" "glue" "tseries" "zoo" "fansi" > [36] "colorspace" "TTR" "pkgconfig" > > arfima(c(45.40, 3.25, 6.50, 2.15)) > Call: > arfima(y = c(45.4, 3.25, 6.5, 2.15)) > Coefficients: > d > 4.583013e-05 > sigma[eps] = 18.01252 > a list with components: > [1] "log.likelihood" "n" "msg" > [4] "d" "ar" "ma" > [7] "covariance.dpq" "fnormMin" "sigma" > [10] "stderror.dpq" "correlation.dpq" "h" > [13] "d.tol" "M" "hessian.dpq" > [16] "length.w" "residuals" "fitted" > [19] "call" "x" "series" > > > > sessionInfo() > R version 4.3.0 (2023-04-21) > Platform: x86_64-pc-linux-gnu (64-bit) > Running under: Fedora Linux 36 (Thirty Six) > Matrix products: default > BLAS: /usr/local64.sfs/app/R/R-4.3.0-inst/lib/libRblas.so > LAPACK: /usr/lib64/liblapack.so.3.10.1 > locale: > [1] LC_CTYPE=de_CH.UTF-8 LC_NUMERIC=C > [3] LC_TIME=en_US.UTF-8 LC_COLLATE=de_CH.UTF-8 > [5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=de_CH.UTF-8 > [7] LC_PAPER=de_CH.UTF-8 LC_NAME=C > [9] LC_ADDRESS=C LC_TELEPHONE=C > [11] LC_MEASUREMENT=de_CH.UTF-8 LC_IDENTIFICATION=C > time zone: Europe/Zurich > tzcode source: system (glibc) > attached base packages: > [1] graphics grDevices datasets stats utils methods base > other attached packages: > [1] forecast_8.21 fortunes_1.5-4 sfsmisc_1.1-15 > loaded via a namespace (and not attached): > [1] gtable_0.3.3 dplyr_1.1.2 compiler_4.3.0 > [4] tidyselect_1.2.0 Rcpp_1.0.10 parallel_4.3.0 > [7] scales_1.2.1 lattice_0.21-8 ggplot2_3.4.2 > [10] R6_2.5.1 generics_0.1.3 curl_5.0.0 > [13] lmtest_0.9-40 tibble_3.2.1 munsell_0.5.0 > [16] nnet_7.3-19 timeDate_4022.108 pillar_1.9.0 > [19] rlang_1.1.1 quantmod_0.4.22 utf8_1.2.3 > [22] urca_1.3-3 quadprog_1.5-8 cli_3.6.1 > [25] magrittr_2.0.3 xts_0.13.1 grid_4.3.0 > [28] nlme_3.1-162 lifecycle_1.0.3 fracdiff_1.5-2 > [31] vctrs_0.6.2 glue_1.6.2 tseries_0.10-54 > [34] zoo_1.8-12 fansi_1.0.4 colorspace_2.1-0 > [37] TTR_0.24.3 tools_4.3.0 pkgconfig_2.0.3 > > > ##---end__R_transcript--------------------------------------------------------------- > Note that your error message pointed me to my (old, but still > fine) package {fracdiff} with its principal function fracdiff() > around which arfima() is a user-friendly and > generalization wrapper. > In other words arfima() calls fracdiff::fracdiff() and the error > happens there --- for you, but not for me, if I try to use the > same data as you. > I see that you must have found that too, because you mentioned > View(environment(fracdiff)$.fdcov) > Maybe you need to > update.packages() > {which should re-install R packages you have installed but which > have become outdated in the mean time} > If the error persists, please send us the output of > 1) > dput(LYGH[[202]]) > so we get your exact data > 2) > sessionInfo() > so we get much info about your R "setup" > .... last but not least: If you are really calling arfima() > with a time series of length 4 (which your LYGH[[202]] above > seems to suggest) > then you really need to learn a bit about the tools you are > using: It really does not make any sense to fit a somewhat > sophisticated time-series model (or *any* time-series model, I'd say) > to a "series" with 4 values. > Best regards, > Martin > -- > Martin Maechler > ETH Zurich and R Core team ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.