[R] convert zoo object to "standard" R object so I can plot and output to csv file
R. Michael Weylandt
michael.weylandt at gmail.com
Fri Feb 17 21:05:44 CET 2012
?write.zoo
Perhaps with sep = "," if you have multiple columns.
Michael
On Fri, Feb 17, 2012 at 2:56 PM, Henry <hccoles at lbl.gov> wrote:
> Another newbie question
> I got the 1 minute spine interpolation and 15 mean aggregation working with
> many thanks to Gabor Grothendieck using Zoo functions. I got a tip from
> Hasan Diwan to look at xts but it seemed I would make better progress using
> code from Gabor.
>
> Now I'm having trouble plotting this zoo object. I'm thinking I want a
> function to "split" the zoo object back to a regular R object with x time
> values and y values so I can plot using plot functions I'm familiar with.
>
> What is the vector name that has the values (e.g. the first value is
> 432.2189)
>
> I also got the 15 minute aggregation mean working - I'm happy about that
> also.
>
> In addition next I'll want to write out a csv. file of the 15min block
> aggregated mean data.
>
> Here is the trial data and code I used so far.
>
>
> Lines <- "10/11/2011 23:30:01 432.22
> 10/11/2011 23:31:17 432.32
> 10/11/2011 23:35:00 432.32
> 10/11/2011 23:36:18 432.22
> 10/11/2011 23:37:18 432.72
> 10/11/2011 23:39:19 432.23
> 10/11/2011 23:40:02 432.23
> 10/11/2011 23:45:00 432.23
> 10/11/2011 23:45:20 429.75
> 10/11/2011 23:46:20 429.65
> 10/11/2011 23:50:00 429.65
> 10/11/2011 23:51:22 429.75
> 10/11/2011 23:55:01 429.75
> 10/11/2011 23:56:23 429.55
> 10/12/2011 0:00:07 429.55
> 10/12/2011 0:01:24 429.95
> 10/12/2011 0:05:00 429.95
> 10/12/2011 0:06:25 429.85
> 10/12/2011 0:10:00 429.85
> 10/12/2011 0:11:26 428.85
> 10/12/2011 0:15:00 428.85
> 10/12/2011 0:20:03 428.85
> 10/12/2011 0:21:29 428.75
> 10/12/2011 0:25:01 428.75
> 10/12/2011 0:30:01 428.75
> 10/12/2011 0:31:31 428.75"
>
> library(zoo)
> library(chron)
>
> fmt <- "%m/%d/%Y %H:%M:%S"
> toChron <- function(d, t) as.chron(paste(d, t), format = fmt)
>
> z <- read.zoo(text = Lines, index = 1:2, FUN = toChron)
>
> # 1 minute spline fit
> m1 <- times("00:01:00")
> g <- seq(trunc(start(z), m1), end(z), by = m1)
> na.spline(z, xout = g) # this did what I want but what is the vector name?
>
> # 15 minute aggregates
> m15 <- times("00:15:00")
> ag15 <- aggregate(z, trunc(time(z), m15), mean)
>
> the results of the na.spline(z, xout = g) function below
> (10/11/11 23:30:00) (10/11/11 23:31:00) (10/11/11 23:32:00) (10/11/11
> 23:33:00) (10/11/11 23:34:00) (10/11/11 23:35:00)
> 432.2189 432.2950 432.3869
> 432.4584 432.4545 432.3200
> (10/11/11 23:36:00) (10/11/11 23:37:00) (10/11/11 23:38:00) (10/11/11
> 23:39:00) (10/11/11 23:40:00) (10/11/11 23:41:00)
> 432.1639 432.5834 432.7443
> 432.3624 432.2095 433.8208
> (10/11/11 23:42:00) (10/11/11 23:43:00) (10/11/11 23:44:00) (10/11/11
> 23:45:00) (10/11/11 23:46:00) (10/11/11 23:47:00)
> 436.3606 438.0969 437.2974
> 432.2300 428.9265 430.6503
> (10/11/11 23:48:00) (10/11/11 23:49:00) (10/11/11 23:50:00) (10/11/11
> 23:51:00) (10/11/11 23:52:00) (10/11/11 23:53:00)
> 430.8493 430.2351 429.6500
> 429.6715 429.8502 429.9054
> (10/11/11 23:54:00) (10/11/11 23:55:00) (10/11/11 23:56:00) (10/11/11
> 23:57:00) (10/11/11 23:58:00) (10/11/11 23:59:00)
> 429.8623 429.7522 429.6074
> 429.4636 429.3664 429.3678
> (10/12/11 00:00:00) (10/12/11 00:01:00) (10/12/11 00:02:00) (10/12/11
> 00:03:00) (10/12/11 00:04:00) (10/12/11 00:05:00)
> 429.5200 429.8310 430.0703
> 430.1312 430.0707 429.9500
> (10/12/11 00:06:00) (10/12/11 00:07:00) (10/12/11 00:08:00) (10/12/11
> 00:09:00) (10/12/11 00:10:00) (10/12/11 00:11:00)
> 429.8495 429.9134 430.0879
> 430.1446 429.8500 429.1407
> (10/12/11 00:12:00) (10/12/11 00:13:00) (10/12/11 00:14:00) (10/12/11
> 00:15:00) (10/12/11 00:16:00) (10/12/11 00:17:00)
> 428.6042 428.4933 428.6367
> 428.8500 428.9834 429.0264
> (10/12/11 00:18:00) (10/12/11 00:19:00) (10/12/11 00:20:00) (10/12/11
> 00:21:00) (10/12/11 00:22:00) (10/12/11 00:23:00)
> 429.0031 428.9376 428.8542
> 428.7773 428.7315 428.7217
> (10/12/11 00:24:00) (10/12/11 00:25:00) (10/12/11 00:26:00) (10/12/11
> 00:27:00) (10/12/11 00:28:00) (10/12/11 00:29:00)
> 428.7330 428.7498 428.7594
> 428.7615 428.7588 428.7541
> (10/12/11 00:30:00) (10/12/11 00:31:00)
> 428.7500 428.7491
>
> the results from when I enter ag15 in the R command line - which looks
> correct
>
> (10/11/11 23:30:00) (10/11/11 23:45:00) (10/12/11 00:00:00) (10/12/11
> 00:15:00) (10/12/11 00:30:00)
> 432.3229 430.0471 429.6667
> 428.8000 428.7500
>
>
>
>
> --
> View this message in context: http://r.789695.n4.nabble.com/convert-zoo-object-to-standard-R-object-so-I-can-plot-and-output-to-csv-file-tp4398302p4398302.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.
More information about the R-help
mailing list