From: Pfaff, Bernhard Dr. <Bernhard_Pfaff_at_fra.invesco.com>

Date: Fri, 15 Apr 2011 10:35:48 +0100

R-help_at_r-project.org mailing list

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. Received on Fri 15 Apr 2011 - 09:39:12 GMT

Date: Fri, 15 Apr 2011 10:35:48 +0100

Hello Ivan,

see example(causality) for the first question and use count[[i]] and not count$[[i]] for the second. The following works for me:

example(causality)

test1 <- causality(var.2c, "e")

test2 <- causality(var.2c, "prod")

tl <- list(test1, test2)

res <- matrix(NA, ncol = 1, nrow = length(tl))
for(i in 1:length(tl)){

res[i, ] <- tl[[i]]$Granger$p.value

}

res

hth,

Bernhard

*> -----Ursprüngliche Nachricht-----
**> Von: ivan [mailto:i.petzev_at_gmail.com]
**> Gesendet: Freitag, 15. April 2011 10:46
**> An: Pfaff, Bernhard Dr.
**> Cc: r-help_at_r-project.org
**> Betreff: Re: [R] Automatically extract info from Granger
**> causality output
**>
*

> Dear Bernhard,

*>
**> thank you very much for the response. Yes, I am using the
**> packsges "vars" with fuchrions VAR() and causality().
**>
**> 1)Giving colnames to the objects does unfortunately not
**> change anything.
**>
**> 2) I am not sure if I understood you right. Did you mean to
**> insert Countml$Granger$p.value rather than
**> Count$ml$Granger$p.value? This
**> returns: Error: Object 'Countms' not found.
**>
**> By the way, str(Count) produces the following:
**>
**> > str(Count)
**> List of 4
**> $ ml:List of 2
**> ..$ Granger:List of 5
**> .. ..$ statistic: num [1, 1] 0.277
**> .. .. ..- attr(*, "names")= chr "F-Test"
**> .. ..$ parameter: Named num [1:2] 1 122
**> .. .. ..- attr(*, "names")= chr [1:2] "df1" "df2"
**> .. ..$ p.value : num [1, 1] 0.6
**> .. ..$ method : chr "Granger causality H0: y1 do not
**> Granger-cause x"
**> .. ..$ data.name: chr "VAR object x"
**> .. ..- attr(*, "class")= chr "htest"
**> ..$ Instant:List of 5
**> .. ..$ statistic: num [1, 1] 19.7
**> .. .. ..- attr(*, "names")= chr "Chi-squared"
**> .. ..$ parameter: Named int 1
**> .. .. ..- attr(*, "names")= chr "df"
**> .. ..$ p.value : num [1, 1] 8.86e-06
**> .. ..$ method : chr "H0: No instantaneous causality
**> between: y1 and x"
**> .. ..$ data.name: chr "VAR object x"
**> .. ..- attr(*, "class")= chr "htest"
**> $ jp:List of 2
**> .
**> .
**> .
**> .
**>
**> Best Regards,
**>
**> Ivan
**>
**> On Fri, Apr 15, 2011 at 10:13 AM, Pfaff, Bernhard Dr.
**> <Bernhard_Pfaff_at_fra.invesco.com> wrote:
**> > Dear Ivan,
**> >
**> > first, it would pay-off in terms of readability to employ
**> line breaks and second to provide a reproducable code snippet
**> and third which package you have used. Now to your questions:
**> > 1) What happens if you provide colnames for your objects?
**> > 2) What happens if you omit the $ after count?
**> >
**> > Best,
**> > Bernhard
**> >
**> > ps: the function seems to have been ported from the package
**> 'vars'. In this package the function causality() is included
**> which returns a named list with elements of class htest.
**> >
**> >> -----Ursprüngliche Nachricht-----
**> >> Von: r-help-bounces_at_r-project.org
**> >> [mailto:r-help-bounces_at_r-project.org] Im Auftrag von ivan
**> >> Gesendet: Donnerstag, 14. April 2011 19:37
**> >> An: r-help_at_r-project.org
**> >> Betreff: [R] Automatically extract info from Granger
**> causality output
**> >>
**> >> Dear Community,
**> >>
**> >> this is my first programming in R and I am stuck with a problem. I
**> >> have the following code which automatically calculates Granger
**> >> causalities from a variable, say e.g. "bs"
**> >> as below, to all other variables in the data frame:
**> >>
**> >> log.returns<-as.data.frame( lapply(daten, function(x)
**> >> diff(log(ts(x))))) y1<-log.returns$bs
**> >> y2<- log.returns[,!(names(log.returns) %in% "bs")]
**> >> Granger<- function(y1,y2) {models=lapply(y2, function(x)
**> >> VAR(cbind(x,y1),ic="SC") ); results=lapply(models,function(x)
**> >> causality(x,cause="y1")); print(results)}
**> >> Count<-Granger(y1,y2)
**> >>
**> >> which produces the following output (I have printed only
**> part of it
**> >> (for Granger causality of bs on ml)):
**> >>
**> >> $ml
**> >> $ml$Granger
**> >>
**> >> Granger causality H0: y1 do not Granger-cause x
**> >>
**> >> data: VAR object x
**> >> F-Test = 0.2772, df1 = 1, df2 = 122, p-value = 0.5995
**> >>
**> >>
**> >> $ml$Instant
**> >>
**> >> H0: No instantaneous causality between: y1 and x
**> >>
**> >> data: VAR object x
**> >> Chi-squared = 19.7429, df = 1, p-value = 8.859e-06
**> >>
**> >> My questions:
**> >>
**> >> 1)How can I edit the function above so that the output writes:
**> >> Granger causality H0: bs do not Granger-cause ml rather than
**> >> Granger causality H0: y1 do not Granger-cause x?
**> >>
**> >> 2) I want to extract the p-values of the tests into a data
**> frame for
**> >> instance. The problem is that the output has a 3 layer structure.
**> >> Thus, for the above p-value I need to write
**> count$ml$Granger$p.value.
**> >> I thought of a loop of something like for(i in
**> >> 1:length(count)) {z=count$[[i]]$Granger$p.value} but it
**> didn't work.
**> >>
**> >> Thank you very much for your help.
**> >>
**> >> Best Regards.
**> >>
**> >> ______________________________________________
**> >> R-help_at_r-project.org mailing list
**> >> 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.
**> >>
**> > *****************************************************************
**> > Confidentiality Note: The information contained in this
**> message, and
**> > any attachments, may contain confidential and/or privileged
**> material.
**> > It is intended solely for the person(s) or entity to which it is
**> > addressed. Any review, retransmission, dissemination, or
**> taking of any
**> > action in reliance upon this information by persons or
**> entities other
**> > than the intended recipient(s) is prohibited. If you
**> received this in
**> > error, please contact the sender and delete the material from any
**> > computer.
**> > *****************************************************************
**> >
**> >
**>
*

R-help_at_r-project.org mailing list

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. Received on Fri 15 Apr 2011 - 09:39:12 GMT

Archive maintained by Robert King, hosted by
the discipline of
statistics at the
University of Newcastle,
Australia.

Archive generated by hypermail 2.2.0, at Fri 15 Apr 2011 - 10:10:30 GMT.

*
Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help.
Please read the posting
guide before posting to the list.
*