[R] How can we creat conditional data frame

Gabor Grothendieck ggrothendieck at gmail.com
Fri Apr 4 14:30:49 CEST 2008


The last line should have been:


z <- merge(r = tmp.z, weekday = as.numeric(format(time(date.z), "%w")),
    h = !tmp.z)



On Fri, Apr 4, 2008 at 8:25 AM, Gabor Grothendieck
<ggrothendieck at gmail.com> wrote:
> Have a look at the zoo package.  After reading
> in the data its only 2 lines of code.
>
> Note that zoo objects can be numeric or
> factor but not both so we have represented
> the day of the week as 1 for Mon, etc.
> in the final object.   You could convert it
> to a data frame at the end if you really
> need to combine factors or strings and
> numerics in one object.
>
>
> Lines.r <- "d          r
> 2000-01-03  1.2105865
> 2000-01-05 -0.8962776
> 2000-01-19 -1.0438936
> 2000-01-28  2.1329387
> "
>
> Lines.date <- "ab   c
> 2000-01-03 Mon
> 2000-01-04 Tue
> 2000-01-05 Wed
> 2000-01-06 Thu
> 2000-01-07 Fri
> 2000-01-10 Mon
> 2000-01-11 Tue
> 2000-01-12 Wed
> 2000-01-13 Thu
> 2000-01-14 Fri
> 2000-01-17 Mon
> 2000-01-18 Tue
> 2000-01-19 Wed
> 2000-01-20 Thu
> 2000-01-21 Fri
> 2000-01-24 Mon
> 2000-01-25 Tue
> 2000-01-26 Wed
> 2000-01-27 Thu
> 2000-01-28 Fri
> "
>
> library(zoo)
> # replace textConnection(...) with your file name, e.g.
> #   read.zoo("myfile.dat", header = TRUE)
> r.z <- read.zoo(textConnection(Lines.da), header = TRUE)
> date.z <- read.zoo(textConnection(Lines.date), header = TRUE)
>
> tmp.z <- merge(r.z, zoo(, time(date.z)), fill = 0)
> z <- merge(r = tmp.z, weekday = as.numeric(format(time(z, "%w"))), h = !z)
>
> For more info:
>
> library(zoo)
> vignette("zoo")
> vignette("zoo-quickref")
> vignette("zoo-faq")
>
>
> On Fri, Apr 4, 2008 at 7:49 AM, saikat sarkar <dipa_sanyal at yahoo.com> wrote:
> >
> > Hi,
> >
> > R experts. I am a new user of R and trying to learn this program.
> >
> > I have a problem. Here is the code.
> >
> > d<-as.Date(c("2000/01/03","2000/01/05","2000/01/19","2000/01/28"))
> > r<-rnorm(4)
> > da<-data.frame(d,r)
> >
> > a<-as.Date("01/01/2000","%d/%m/%Y")
> > b<-as.Date("30/01/2000","%d/%m/%Y")
> > ab<-seq(a,b,by=1)
> > c<-format(ab,"%a")
> > date<-data.frame(ab,c)
> > date<-subset(date,c!="Sun")
> > date<-subset(date,c!="Sat")
> >
> > Here I have 2 data frame.
> >
> > da
> > -------------
> >           d          r
> > 1 2000-01-03  1.2105865
> > 2 2000-01-05 -0.8962776
> > 3 2000-01-19 -1.0438936
> > 4 2000-01-28  2.1329387
> >
> > ---------------------------
> > date
> > --------------
> >      ab   c
> > 3  2000-01-03 Mon
> > 4  2000-01-04 Tue
> > 5  2000-01-05 Wed
> > 6  2000-01-06 Thu
> > 7  2000-01-07 Fri
> > 10 2000-01-10 Mon
> > 11 2000-01-11 Tue
> > 12 2000-01-12 Wed
> > 13 2000-01-13 Thu
> > 14 2000-01-14 Fri
> > 17 2000-01-17 Mon
> > 18 2000-01-18 Tue
> > 19 2000-01-19 Wed
> > 20 2000-01-20 Thu
> > 21 2000-01-21 Fri
> > 24 2000-01-24 Mon
> > 25 2000-01-25 Tue
> > 26 2000-01-26 Wed
> > 27 2000-01-27 Thu
> > 28 2000-01-28 Fri
> >
> > ---------------
> >
> > In data frame-"DA"- I have return(r) and date
> > In data frame-"Date"- where I have date and day.
> >
> > Now I need to create a data frame where returns will be conditional on date
> > and rest will be zero.
> >
> > -------------------
> > like this
> > ---------------------
> >
> >  ab            c                   r            hd
> > 3  2000-01-03 Mon    1.2105865      0
> > 4  2000-01-04 Tue         0              1
> > 5  2000-01-05 Wed        0              1
> > 6  2000-01-06 Thu         0              1
> > 7  2000-01-07 Fri           0              1
> >
> > ---------------------------------
> >
> > >From this I can figureout the hoildays and then put each holidays equal to
> > 1.
> >
> >
> > Please help me.
> >
> > Thanking you
> >
> > saikat
> >
> >
> >
> > --
> > View this message in context: http://www.nabble.com/How-can-we-creat-conditional-data-frame-tp16491208p16491208.html
> > Sent from the R help mailing list archive at Nabble.com.
> >
> > ______________________________________________
> > 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.
> >
>



More information about the R-help mailing list