The adfresd function that you have, prints the outcome of the test rather
than `return' ing a value. If you would modify that function to return a
value (True or false/ or p-value) you should automatically get vector that
you desire. Then is a simple task of naming the resultant vector with.

apply(b,2, paste, collapse="_")

On Thu, Aug 12, 2010 at 10:15 AM, Ferreira, Thiago Alves <
thiago.alves.ferre...@citi.com> wrote:

> Hello Nikhil, hope you are well today.
> I am sorry to be a pain but I have one follow up question, I am trying to
> express my results in a grid, which would look like a 6 by 6 matrix and
> would have just Yes or NO in each grid..
> So what I am thinking is a way to store every result I get on "
> apply(b,2,coint) " in an array or vector, and express them is this matrix.
> So that I can just look at it and see whether assets swap2 and vol are
> cointegrated..
>
> Do you reckon you point me in the right direction as to how to do that?
>
> Thank you!
> Thiago
>
> -----Original Message-----
> From: Nikhil Kaza [mailto:nikhil.l...@gmail.com]
> Sent: 11 August 2010 12:35
> To: Ferreira, Thiago Alves [ICG-MKTS]
> Cc: 'r-help@R-project.org'
> Subject: Re: [R] Help with permutation / loops
>
> How about this?
>
> untested since no data is provided.
>
> a <- paste("x",1:6,sep="")
> b<- combn(a,2)
>
> > coint<-function (x)
> > {
>        x1 <- get(x[1])
>        x2 <- get(x[2])
> >        adfdata(x1)
> >        adfdata(x2)
> >
> >        engle<-lm(x1~x2)
> >        residual<-resid(engle)
> >        adfresd(residual, k=1)
> >
> >                                par(mfrow=c(2,1))
> >                                ts.plot(x1)
> >                                ts.plot(x2)
> >                                ts.plot(residual) }
>
>
> apply(b,2,coint)
>
>
> Careful with the plots, you may just overwrite them on default device.
> One way to overcome it is to plot them to a pdf and name them appropriately
> for each iteration.
>
> Nikhil Kaza
> Asst. Professor,
> City and Regional Planning
> University of North Carolina
>
> nikhil.l...@gmail.com
>
> On Aug 11, 2010, at 6:34 AM, Ferreira, Thiago Alves wrote:
>
> > Hi everyone,
> > I am writing a code for cointegration between n (n=6 initially) pairs.
> >
> > I have done the whole thing for 2 variables. There is a function
> > coint(x1,x2) that takes 2 inputs x1 and x2 and does the following:
> >
> > coint<-function (x1,x2)
> > {
> >        adfdata(x1)
> >        adfdata(x2)
> >
> >        engle<-lm(x1~x2)
> >        residual<-resid(engle)
> >        adfresd(residual, k=1)
> >
> >                                par(mfrow=c(2,1))
> >                                ts.plot(x1)
> >                                ts.plot(x2)
> >                                ts.plot(residual) }
> >
> > Where X1,x2,..,x6 are time series of length 250 or more
> >
> > Where adfdata() is a function that calculates the adf test for x1 and
> > x2. There are 6 variables in total (x1,x2,...,x6) and I want to
> > calculate this function coint for the permutation of these variables.
> > That is coint(x1,x2); coint(x1,x3);
> > coint(x1,x4);...coint(x6,x5) (without repetition because x1,x1 are
> > cointegrated already)
> >
> > I thought about creating an array with the combinations Xi,Xj and
> > apply the function to each combination in the array but I could not
> > get it to work...
> > I would really appreciate if someone could help me on this!
> >
> > Thank you,
> > Kind regards,
> > Thiago
> >
> > ______________________________________________
> > R-help@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.
>
>

        [[alternative HTML version deleted]]

______________________________________________
R-help@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.

Reply via email to