Thanks
On Sun, May 1, 2022 at 6:58 PM Achim Zeileis <Achim.Zeileis at uibk.ac.at>
wrote:>
> On Sun, 1 May 2022, Eric Berger wrote:
>
> > Hi Achim,
> > My point was that tsbox (apparently) provides tools to convert zoo
-->
> > ts which should help the OP.
>
> Not necessarily, because ts can only represent regular and plain numeric
> time indexes whereas zoo (and also xts and tsibble) can represent
> irregular time indexes of different classes as well. Also, zoo (and also
> xts and tsibble) can convert to many other time series classes (including
> ts) directly, there is no need to go via tsbox for that.
>
> In this particular case it would be possible, though, to convert back and
> forth between ts and zoo because the data is simply monthly. This can be
> done with as.ts() and as.zoo(), respectively.
>
> dd.ocus <- efp(dd ~ dd.lag1 + dd.lag12, data = as.ts(na.trim(dd.z)),
> type = "OLS-CUSUM")
>
>
> > On Sun, May 1, 2022 at 5:56 PM Achim Zeileis <Achim.Zeileis at
uibk.ac.at> wrote:
> >>
> >> On Sun, 1 May 2022, Eric Berger wrote:
> >>
> >>> Hi Naresh,
> >>> The tsbox package on CRAN -
> >>> cran.r-project.org/web/packages/tsbox/index.html - has
the
> >>> following description:
> >>>
> >>> tsbox: Class-Agnostic Time Series
> >>>
> >>> Time series toolkit with identical behavior for all time
series
> >>> classes: 'ts','xts', 'data.frame',
'data.table', 'tibble', 'zoo',
> >>> 'timeSeries', 'tsibble', 'tis' or
'irts'. Also converts reliably
> >>> between these classes.
> >>>
> >>> Hopefully this will provide you the necessary tools to solve
your problem.
> >>
> >> Not really because the code inside strucchange::efp does not use
tsbox but
> >> just ts directly.
> >>
> >> Best,
> >> Achim
> >>
> >>> Good luck,
> >>> Eric
> >>>
> >>>
> >>>
> >>> On Sun, May 1, 2022 at 3:37 PM Naresh Gurbuxani
> >>> <naresh_gurbuxani at hotmail.com> wrote:
> >>>>
> >>>> I am trying to replicate empirical fluctuation process fit
(efp) described in the book "Applied Econometrics with R". This fit
works when data input is an object of class ts, but not when data input is
object of class zoo. I prefer to use zoo because it provides better
housekeeping with dates. Is it possible to achieve the fit with zoo?
> >>>>
> >>>> library(AER)
> >>>> library(strucchange)
> >>>>
> >>>> data(UKDriverDeaths)
> >>>> dd <- log(UKDriverDeaths)
> >>>> dd.z <- zoo(dd, order.by = as.yearmon(time(dd)))
> >>>> dd.z <- merge(dd = dd.z, dd.lag1 = lag(dd.z, k = -1),
> >>>> dd.lag12 = lag(dd.z, k = -12))
> >>>>
> >>>> # Does not work
> >>>> dd.ocus <- efp(dd ~ dd.lag1 + dd.lag12, data =
na.trim(dd.z),
> >>>> type = "OLS-CUSUM")
> >>>> # Error message
> >>>> # Error in eval(attr(mt, "variables")[[2]],
data, env) :
> >>>> # numeric 'envir' arg not of length one
> >>>>
> >>>> # Works
> >>>> dd.ocus <- efp(dd ~ dd.lag1 + dd.lag12, data =
ts(na.trim(dd.z)),
> >>>> type = "OLS-CUSUM")
> >>>>
> >>>> # But time stamps are lost
> >>>> plot(dd.ocus)
> >>>> # Time indexed from 0 to 180
> >>>>
> >>>> Thanks,
> >>>> Naresh
> >>>> ______________________________________________
> >>>> R-help at r-project.org mailing list -- To UNSUBSCRIBE and
more, see
> >>>> stat.ethz.ch/mailman/listinfo/r-help
> >>>> PLEASE do read the posting guide
R-project.org/posting-guide.html
> >>>> and provide commented, minimal, self-contained,
reproducible code.
> >>>
> >>> ______________________________________________
> >>> R-help at r-project.org mailing list -- To UNSUBSCRIBE and
more, see
> >>> stat.ethz.ch/mailman/listinfo/r-help
> >>> PLEASE do read the posting guide
R-project.org/posting-guide.html
> >>> and provide commented, minimal, self-contained, reproducible
code.
> >>>
> >