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 <[EMAIL PROTECTED]> 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@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. > ______________________________________________ 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.