Hello everyone, i try to identify the first element of a date vector, for which the following condition holds: at least 3 more dates within the next 365 days, but at least one of these must be between 3-12 month later. dates = as.Date(sort(rnorm(10,3000,100)), origin = "2000-1-1") Has anyone an idea how to do this economically? I'll need to apply this to a large dataset with date vectors of various lengths and I can think only of quite difficult algorithms :( Any ideas would be appreciated, Felix [[alternative HTML version deleted]]
On Apr 3, 2012, at 9:35 AM, Fischer, Felix wrote:> Hello everyone, > > i try to identify the first element of a date vector, for which the > following condition holds: at least 3 more dates within the next 365 > days, but at least one of these must be between 3-12 month later. > > dates = as.Date(sort(rnorm(10,3000,100)), origin = "2000-1-1") > > Has anyone an idea how to do this economically? I'll need to apply > this to a large dataset with date vectors of various lengths and I > can think only of quite difficult algorithms :( >which( dates[4:(length(dates))] -dates[1:(length(dates)-3)] <365 & dates[3:(length(dates)-1)] -dates[1:(length(dates)-3)] > 90) [1] 2 3> Any ideas would be appreciated, > Felix > > > [[alternative HTML version deleted]] > > ______________________________________________ > 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.David Winsemius, MD West Hartford, CT
Hi Can you please be more specific? Based on this input, what do you want as a result?> set.seed(111) > dates = as.Date(sort(rnorm(10,3000,100)), origin = "2000-1-1") > dates[1] "2007-08-01" "2007-10-21" "2007-12-08" "2007-12-15" "2008-01-29" "2008-02-14" "2008-02-16" "2008-03-01" [9] "2008-04-02" "2008-04-11">Regards Petr> > Hello everyone, > > i try to identify the first element of a date vector, for which the > following condition holds: at least 3 more dates within the next 365days,> but at least one of these must be between 3-12 month later. > > dates = as.Date(sort(rnorm(10,3000,100)), origin = "2000-1-1") > > Has anyone an idea how to do this economically? I'll need to apply thisto> a large dataset with date vectors of various lengths and I can thinkonly> of quite difficult algorithms :( > > Any ideas would be appreciated, > Felix > > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guidehttp://www.R-project.org/posting-guide.html> and provide commented, minimal, self-contained, reproducible code.