[R] ZOO objects: Creating, Plotting, Analyzing

Rich Shepard rshepard at appl-ecosys.com
Wed Mar 19 19:23:33 CET 2014


   I need to plot and analyze irregular time series. Having read the JSS
article on zoo (2005), ?zoo, ?plot.zoo, and the quickref vignette I'm still
not doing this correctly. This did not post to the list with the dput()
outputs attached; they are at the end of this message.

   My work flow is to read the *.csv file to create a data.frame, subset the
df to yield a date/data file for each constituent, convert the subset df to
a matrix using as.matrix() (see s95.ec.txt attached), then create a zoo
object specifying 'sampdate' as the order.by index. The result is the second
attachment (s95.ec.z.txt) which does not appear correct to me.

   Of the several zoo methods involving NA values, none of the imputations
seem appropriate for my data as there is neither pattern or sufficiently
short gaps between observed values, so I chose 'na.omit.' Putting that in
the command, e.g., s95.ec.z <- zoo(s95.ec, order.by = 'sampdate', na.omit)
produced an error:

s95.ec.z <- zoo(s95.ec, order.by = 'sampdate', na.omit)
Error in frequency > 1 :
   comparison (6) is possible only for atomic and list types

   I suspect that the first hurdle I need to overcome is correctly creating a
zoo object from the matrix.

   All the data I analyze have irregular collection dates and I need to
become fluent with zoo objects so I can correctly analyze and plot the time
series of these data.

Rich

<s95.ec.txt>++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
structure(c("1992-03-12", "1992-04-22", "1992-05-22", "1992-06-03", 
"1992-11-06", "1993-01-28", "1993-02-18", "1993-03-03", "1993-03-15", 
"1993-04-08", "1993-04-30", "1993-05-11", "1993-05-27", "1993-06-10", 
"1993-06-25", "1993-07-09", "1993-07-31", "1994-03-28", "1994-04-07", 
"1994-04-26", "1994-05-27", "1994-06-23", "1995-04-11", "1995-04-29", 
"1995-05-30", "1995-06-23", "1995-07-26", "1995-12-04", "1996-01-16", 
"1996-05-07", "1996-06-05", "1996-07-02", "1997-04-30", "1997-05-14", 
"1997-06-16", "1997-07-29", "1998-05-25", "1998-05-28", "1998-07-27", 
"1998-09-15", "1998-10-21", "1998-11-24", "1999-05-10", "1999-05-25", 
"1999-06-22", "1999-07-22", "1999-11-09", "1999-12-01", "2000-03-04", 
"2000-03-10", "2000-04-21", "2000-05-09", "2000-06-28", "2000-11-27", 
"2000-12-07", "2001-02-16", "2001-03-07", "2001-04-30", "2001-05-11", 
"2001-06-25", "2002-05-04", "2002-06-21", "2003-05-03", "2003-06-15", 
"2004-06-28", "2004-07-01", " 85", " 80", " 85", NA, " 90", "110", 
" 90", "100", "875", " 85", " 83", " 75", " 49", " 65", " 57", 
" 55", " 64", " 60", " 80", " 80", " 45", " 65", " 83", " 60", 
" 40", " 62", " 80", "119", " 55", " 65", " 44", " 48", " 68", 
" 43", " 50", " 70", " 52", " 45", " 66", " 92", " 92", "134", 
" 77", " 52", "382", " 72", " 83", " 78", " 78", " 77", " 62", 
" 51", " 59", " 79", " 65", " 77", " 81", " 59", " 55", " 67", 
" 67", " 16", " 70", NA, " 42", " 42"), .Dim = c(66L, 2L), .Dimnames = list(
     c("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11",
     "12", "13", "14", "15", "16", "17", "18", "19", "20", "21",
     "22", "23", "24", "25", "26", "27", "28", "29", "30", "31",
     "32", "33", "34", "35", "36", "37", "38", "39", "40", "41",
     "42", "43", "44", "45", "46", "47", "48", "49", "50", "51",
     "52", "53", "54", "55", "56", "57", "58", "59", "60", "61",
     "62", "63", "64", "65", "66"), c("sampdate", "EC")))

<s95.ex.z.txt>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
structure(c("1992-03-12", " 85"), .Dim = 1:2, .Dimnames = list(
     "1", c("sampdate", "EC")), index = "sampdate", class = "zoo")




More information about the R-help mailing list