Here are a few more examples: > ym <- seq(from = as.Date("1999-10-05"), to = as.Date("2000-06-05"), + by = "month") > > z <- zoo(matrix(seq_len(length(ym) * 5), 5)) > colnames(z) <- format(ym, "X%d.%b.%y") > z X05.Oct.99 X05.Nov.99 X05.Dec.99 X05.Jan.00 X05.Feb.00 X05.Mar.00 X05.Apr.00 1 1 6 11 16 21 26 31 2 2 7 12 17 22 27 32 3 3 8 13 18 23 28 33 4 4 9 14 19 24 29 34 5 5 10 15 20 25 30 35 X05.May.00 X05.Jun.00 1 36 41 2 37 42 3 38 43 4 39 44 5 40 45 > > to.header <- function(month, year) { + d <- as.Date(paste(year, month, 5, sep = "-"), "%Y-%b-%d") + format(d, "X%d.%b.%y") + } > > to.header("Oct", 1999) [1] "X05.Oct.99" > > for(j in 1:NCOL(z)) print(z[,j]) 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 11 12 13 14 15 1 2 3 4 5 16 17 18 19 20 1 2 3 4 5 21 22 23 24 25 1 2 3 4 5 26 27 28 29 30 1 2 3 4 5 31 32 33 34 35 1 2 3 4 5 36 37 38 39 40 1 2 3 4 5 41 42 43 44 45 > for(nm in colnames(z)) print(z[,nm]) 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 11 12 13 14 15 1 2 3 4 5 16 17 18 19 20 1 2 3 4 5 21 22 23 24 25 1 2 3 4 5 26 27 28 29 30 1 2 3 4 5 31 32 33 34 35 1 2 3 4 5 36 37 38 39 40 1 2 3 4 5 41 42 43 44 45
On Thu, Feb 11, 2010 at 5:04 AM, Achim Zeileis <achim.zeil...@uibk.ac.at> wrote: > On Thu, 11 Feb 2010, Research wrote: > >> Hello, >> >> I have large zoo objects (about 100 or more time series merged next to >> eachother). Example: >> >> X05.Oct.99 X05.Nov.99 X05.Dec.99 X05.Jan.00 X05.Feb.00 X05.Mar.00 >> X05.Apr.00 X05.May.00 X05.Jun.00 >> [1,] 5649.3 5679.4 5679.4 5679.4 5679.4 5679.4 >> 5679.4 5679.4 5679.4 >> [2,] 5682.7 5719.2 5719.2 5719.2 5719.2 5719.2 >> 5719.2 5719.2 5719.2 >> [3,] 5697.5 5745.5 5745.5 5745.5 5745.5 5745.5 >> 5745.5 5745.5 5745.5 >> [4,] 5723.9 5767.8 5767.8 5767.8 5767.8 5767.8 >> 5767.8 5767.8 5767.8 >> [5,] 5782.1 5829.8 5829.8 5829.8 5829.8 5829.8 >> 5829.8 5829.8 5829.8 >> [6,] 5815.0 5850.9 5850.9 5850.9 5850.9 5850.9 >> 5850.9 5850.9 5850.9 >>> >> >> The column names contain dates, i.e., X05.Oct.99 stands for a time >> sequence that was obtained on 05/10/1999. Each column is obtained month + 1 >> from the previous one. >> >> Is it possible to access these columns (time series data) via a for/next >> loop (or a while) that uses dates i/o (i in 1:8) in the above example? >> >> Say: if month==Oct and year==1999 choose column X05.Oct.99 ... > > You can switch back and forth between character representations and timedate > representations using strptime() and format() along with formatting strings, > e.g., > > R> strptime("X05.Oct.99", "X%d.%b.%y") > [1] "1999-10-05" > > R> format(strptime("X05.Oct.99", "X%d.%b.%y"), "X%d.%b.%y") > [1] "X05.Oct.99" > > R> format(strptime("X05.Oct.99", "X%d.%b.%y"), "%d/%m/%Y") > [1] "05/10/1999" > > And so on. See > > Grothendieck G, Petzoldt T (2004). "R Help Desk: Date and Time > Classes in R." R News, 4(1), 2932. > URL http://www.R-project.org/doc/Rnews/Rnews_2004-1.pdf > > for more details. > > I wonder why you have the time information in the columns rather than in the > rows though... If your measurements on that day represent intra-day > measurements, simply use some time/date class, e.g., POSIXct (or chron or > timeDate) for that. If the measurements correspond to some replications they > can just go into the columns rather than the rows of the series. > > For examples in zoo, see the vignettes of the package. > > hth, > Z > >> Could I also generate automatically a variable, appropriately named from >> the corresponding columns name that would contain the data and access it by >> that date? >> >> Any pointers really appreciated. >> >> Thanks in advance, >> Costas >> >> >> __________ Information from ESET Smart Security, version of virus >> signature database 4857 (20100211) __________ >> >> The message was checked by ESET Smart Security. >> >> http://www.eset.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. > > ______________________________________________ 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.