Here is the solution data<-read.table("d:/ftse.txt",header=TRUE) wDay<-as.Date(data$date,"%d/%m/%Y") data<-data.frame(data[,-1]) price<-data$ftse100 data<-data.frame(price,wDay) data[1:10,]
a<-as.Date("03/01/1989","%d/%m/%Y") b<-as.Date("31/01/2007","%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") res <- merge(date, data, by.x = "ab", by.y="wDay", all=T) res$h <- 0 res$h[is.na(res$price)] <- 1 res$price[is.na(res$price)] <- 0 h<-res$h[-1] h1<-c(h,0) final.data<- data.frame(res$price,h1) final.data<-final.data[final.data$res.price>0,] saikat sarkar 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-tp16491208p16495146.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.