[R] extracting coefficients from ar() output

T.Riedle tr206 at kent.ac.uk
Fri Jun 17 20:23:26 CEST 2016


Thank you very much, Peter. I played a bit and found a solution. 
> rollingarmaols<-rollapply(data,width=36,function(data) ar(data,order.max=1,method="ols"))
> coefar<-apply(rollingarmaols, 1, getElement, "ar")
> head(coefar,50)
 [1] 0.9430692 0.9140253 0.9236898 0.9426744 0.9465110 0.9318470 0.9033054 0.9206048 0.9243736 0.9129082
[11] 0.9181811 0.9350779 0.9464205 0.9410245 0.9335568 0.9201928 0.8869414 0.8320984 0.8185671 0.7989182
[21] 0.7454876 0.6388364 0.6797046 0.6704642 0.7077033 0.8895698 0.8755445 0.8965050 0.8969068 0.8891385
[31] 0.9284835 0.9628297 0.9674624 0.9524462 0.9423693 0.9629843 0.9996613 1.0000295 0.9845222 0.9877242
[41] 0.9582863 0.9596756 0.9415847 0.9471677 0.9447052 0.9324048 0.9171082 0.8928825 0.9133751 0.9203662

I am trying to export the data to Excel using WriteXLS:
> WriteXLS(coefar, ExcelFileName = "R.xls", SheetNames = test)

Unfortunately, it doesn't work. How can I export the data to Excel?

-----Original Message-----
From: peter dalgaard [mailto:pdalgd at gmail.com] 
Sent: 16 June 2016 18:49
To: William Dunlap
Cc: T.Riedle; R-help at r-project.org
Subject: Re: [R] extracting coefficients from ar() output


> On 16 Jun 2016, at 17:07 , William Dunlap via R-help <r-help at r-project.org> wrote:
> 
> help(ar) should tell you how to get the coefficients.  If, like me, 
> you don't read help files, you can use str() to look at the structure 
> of ar's output.

Also notice that the output of rollapply is not an ar object. More likely a list of them, so  try rollingarma[[i]]$ar or maybe lapply(rollingarma, function(x)x$ar) or sapply(rollingarma, "[[", "ar") or...

> 
>> str(a <- ar(sin(1:30), aic=TRUE))
> List of 14
> $ order       : int 2
> $ ar          : num [1:2] 1.011 -0.918
> $ var.pred    : num 0.0654
> $ x.mean      : num 0.00934
> $ aic         : Named num [1:15] 61.215 53.442 0 0.985 2.917 ...
>  ..- attr(*, "names")= chr [1:15] "0" "1" "2" "3" ...
> $ n.used      : int 30
> $ order.max   : num 14
> $ partialacf  : num [1:14, 1, 1] 0.5273 -0.9179 -0.1824 -0.0477 -0.0393 ...
> $ resid       : num [1:30] NA NA -0.0145 -0.0734 -0.0725 ...
> $ method      : chr "Yule-Walker"
> $ series      : chr "sin(1:30)"
> $ frequency   : num 1
> $ call        : language ar(x = sin(1:30), aic = TRUE)
> $ asy.var.coef: num [1:2, 1:2] 0.00583 -0.00308 -0.00308 0.00583
> - attr(*, "class")= chr "ar"
>> a$ar
> [1]  1.0112512 -0.9178554
> 
> 
> 
> 
> Bill Dunlap
> TIBCO Software
> wdunlap tibco.com
> 
> On Thu, Jun 16, 2016 at 4:34 AM, T.Riedle <tr206 at kent.ac.uk> wrote:
> 
>> Hi everybody,
>> 
>> I am trying to run an AR1 model using the ar() function as shown below.
>> 
>>> rollingarma<-rollapply(data,width=36,function(data) 
>>> ar(data,aic=TRUE))
>>> head(rollingarma,50)
>>      order ar        var.pred x.mean   aic        n.used order.max
>> partialacf resid      method        series
>> [1,] 1     0.7433347 1.382908 49.99861 Numeric,16 36     15
>> Numeric,15 Numeric,36 "Yule-Walker" "data"
>> [2,] 1     0.7410181 1.565755 49.94778 Numeric,16 36     15
>> Numeric,15 Numeric,36 "Yule-Walker" "data"
>> [3,] 1     0.7636966 1.660581 49.86861 Numeric,16 36     15
>> Numeric,15 Numeric,36 "Yule-Walker" "data"
>> 
>> 
>> I get the table as shown above if I use head().
>> 
>> How can I extract the ar coefficients from this table? I have already 
>> tried coef() and rollingarma$ar but both do not work.
>> What can I do?
>> 
>> Thanks for your help.
>> 
>> 
>>        [[alternative HTML version deleted]]
>> 
>> ______________________________________________
>> R-help at 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.
>> 
> 
> 	[[alternative HTML version deleted]]
> 
> ______________________________________________
> R-help at 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.

--
Peter Dalgaard, Professor,
Center for Statistics, Copenhagen Business School Solbjerg Plads 3, 2000 Frederiksberg, Denmark
Phone: (+45)38153501
Office: A 4.23
Email: pd.mes at cbs.dk  Priv: PDalgd at gmail.com



More information about the R-help mailing list