How to sum and group data by DATE in data frame
Fascinating... dput() has never given me anything that looks like
that.... I would have expected something much more like
z <- structure(c(123.53, 123.78, 124.24, 124.2, 124.07, 123.91, 123.44,
123.0616, 123.06, 123.13, 123.745, 123.96, 123.99, 123.99, 124.3,
124.38, 124.67, 125.19, 124.9, 125.27, 125.5, 125.58, 125.91,
125.8, 125.83, 126.215, 126.25, 126.25, 124.901, 124.43, 124.4654,
124.46, 124.68, 124.86, 124.73, 125.22, 125.48, 125.5601, 125.4091,
125.15, 125.43, 125.481, 125.91, 125.29, 124.79, 124.77, 124.7,
124.37, 124.56, 124.86, 125.3, 125.59, 125.95, 125.73, 126.27,
126.26, 127.33, 126.37, 126.46, 126, 126.06, 126.2662, 126.23,
126.4499, 127.12, 127.48, 127.49, 127.69, 127.88, 127.88, 124.51,
124.42, 124.92, 125.18, 125.23, 124.81, 125.07, 124.61, 123.8869,
123.24, 123.3329, 123.6, 123.19, 123.161), index = structure(c(1320258600,
1320260400, 1320262200, 1320264000, 1320265800, 1320267600, 1320269400,
1320271200, 1320273000, 1320274800, 1320276600, 1320278400, 1320280200,
1320282000, 1320345000, 1320346800, 1320348600, 1320350400, 1320352200,
1320354000, 1320355800, 1320357600, 1320359400, 1320361200, 1320363000,
1320364800, 1320366600, 1320368400, 1320431400, 1320433200, 1320435000,
1320436800, 1320438600, 1320440400, 1320442200, 1320444000, 1320445800,
1320447600, 1320449400, 1320451200, 1320453000, 1320454800, 1320697800,
1320699600, 1320701400, 1320703200, 1320705000, 1320706800, 1320708600,
1320710400, 1320712200, 1320714000, 1320715800, 1320717600, 1320719400,
1320721200, 1320784200, 1320786000, 1320787800, 1320789600, 1320791400,
1320793200, 1320795000, 1320796800, 1320798600, 1320800400, 1320802200,
1320804000, 1320805800, 1320807600, 1320870600, 1320872400, 1320874200,
1320876000, 1320877800, 1320879600, 1320881400, 1320883200, 1320885000,
1320886800, 1320888600, 1320890400, 1320892200, 1320894000), class =
c("POSIXct",
"POSIXt"), tzone = ""), class = "zoo")
which is about 100x more convenient....
With that,
aggregate(z, as.Date(time(z)), sum)
and
aggregate(z, format(time(z), "%m %d"), sum)
give different results (at least in my time zone) so try the latter
(it seems to be what you were probably looking for)
If that doesn't nail it down, I'll need you to answer the questions I
asked in my previous email.
Best,
Michael
On Wed, May 16, 2012 at 6:14 AM, Cren <oscar.soppelsa at bancaakros.it> wrote:
Michael Weylandt wrote
Can you provide a reproducible example?
Of course, Michael. Consider the following time series: 11/2/2011 14:30 123.53 11/2/2011 15:00 123.78 11/2/2011 15:30 124.24 11/2/2011 16:00 124.2 11/2/2011 16:30 124.07 11/2/2011 17:00 123.91 11/2/2011 17:30 123.44 11/2/2011 18:00 123.0616 11/2/2011 18:30 123.06 11/2/2011 19:00 123.13 11/2/2011 19:30 123.745 11/2/2011 20:00 123.96 11/2/2011 20:30 123.99 11/2/2011 21:00 123.99 11/3/2011 14:30 124.3 11/3/2011 15:00 124.38 11/3/2011 15:30 124.67 11/3/2011 16:00 125.19 11/3/2011 16:30 124.9 11/3/2011 17:00 125.27 11/3/2011 17:30 125.5 11/3/2011 18:00 125.58 11/3/2011 18:30 125.91 11/3/2011 19:00 125.8 11/3/2011 19:30 125.83 11/3/2011 20:00 126.215 11/3/2011 20:30 126.25 11/3/2011 21:00 126.25 11/4/2011 14:30 124.901 11/4/2011 15:00 124.43 11/4/2011 15:30 124.4654 11/4/2011 16:00 124.46 11/4/2011 16:30 124.68 11/4/2011 17:00 124.86 11/4/2011 17:30 124.73 11/4/2011 18:00 125.22 11/4/2011 18:30 125.48 11/4/2011 19:00 125.5601 11/4/2011 19:30 125.4091 11/4/2011 20:00 125.15 11/4/2011 20:30 125.43 11/4/2011 21:00 125.481 11/7/2011 15:30 125.91 11/7/2011 16:00 125.29 11/7/2011 16:30 124.79 11/7/2011 17:00 124.77 11/7/2011 17:30 124.7 11/7/2011 18:00 124.37 11/7/2011 18:30 124.56 11/7/2011 19:00 124.86 11/7/2011 19:30 125.3 11/7/2011 20:00 125.59 11/7/2011 20:30 125.95 11/7/2011 21:00 125.73 11/7/2011 21:30 126.27 11/7/2011 22:00 126.26 11/8/2011 15:30 127.33 11/8/2011 16:00 126.37 11/8/2011 16:30 126.46 11/8/2011 17:00 126 11/8/2011 17:30 126.06 11/8/2011 18:00 126.2662 11/8/2011 18:30 126.23 11/8/2011 19:00 126.4499 11/8/2011 19:30 127.12 11/8/2011 20:00 127.48 11/8/2011 20:30 127.49 11/8/2011 21:00 127.69 11/8/2011 21:30 127.88 11/8/2011 22:00 127.88 11/9/2011 15:30 124.51 11/9/2011 16:00 124.42 11/9/2011 16:30 124.92 11/9/2011 17:00 125.18 11/9/2011 17:30 125.23 11/9/2011 18:00 124.81 11/9/2011 18:30 125.07 11/9/2011 19:00 124.61 11/9/2011 19:30 123.8869 11/9/2011 20:00 123.24 11/9/2011 20:30 123.3329 11/9/2011 21:00 123.6 11/9/2011 21:30 123.19 11/9/2011 22:00 123.161 The rownames are datas plus hour, the data column is the time series' value. -- View this message in context: http://r.789695.n4.nabble.com/How-to-sum-and-group-data-by-DATE-in-data-frame-tp903708p4630228.html Sent from the R help mailing list archive at Nabble.com.
______________________________________________ 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.