Sorry, this is my first time to post. I have a big data set: first colume is date (ex: 2008-2-150, the second is time (10:30:00), and the following columes are variaty measurement data. Every 30 min, I have one data. I want to find an effecient way to calculate the hourly, daily, monthly and yearly average, and plot them, and eventually use these average data to do further analysis. Thanks! Jeff [[alternative HTML version deleted]]
Check as.Date> Date: Wed, 11 Mar 2009 06:25:44 -0700 > From: qflichem@yahoo.com > To: r-help@r-project.org > Subject: [R] How to monthly,daily,yearly average > > Sorry, this is my first time to post. > > I have a big data set: first colume is date (ex: 2008-2-150, the second is time (10:30:00), and the following columes are variaty measurement data. Every 30 min, I have one data. > > I want to find an effecient way to calculate the hourly, daily, monthly and yearly average, and plot them, and eventually use these average data to do further analysis. > > Thanks! > Jeff > > > > [[alternative HTML version deleted]] > > ______________________________________________ > 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._________________________________________________________________ News, entertainment and everything you care about at Live.com. Get it now! http://www.live.com/getstarted.aspx [[alternative HTML version deleted]]
Here is an example. See the three vignettes in zoo: vignette("zoo") and R News 4/1 for info on dates. # assume this input Lines <- "Date Time Value 01/01/08 00:00:00 1 01/01/08 00:30:00 2 01/01/08 01:00:00 3 01/01/08 01:30:00 4 01/01/08 02:00:00 5 01/01/08 02:30:00 6 01/01/08 03:00:00 7 01/01/08 03:30:00 8 01/01/08 04:00:00 9" # read in the data, convert it to zoo, aggregate it and plot library(zoo) library(chron) # DF <- read.table("myfile.dat", header = TRUE, as.is = TRUE) DF <- read.table(textConnection(Lines), header = TRUE, as.is = TRUE) # next line may need to specify formats, if different z <- zoo(DF$Value, chron(DF$Date, DF$Time)) # hourly aggregation z.hr <- aggregate(z, trunc(time(z), "01:00:00"), mean) plot(z.hr, type = "o") # daily aggregation z.day <- aggregate(z, trunc, mean) plot(z.day, type = "o") # monthly aggregation z.mo <- aggregate(z, as.yearmon, mean) plot(z.mo, type = "o") # yearly aggregation z.yr <- aggregate(z.mo, floor, mean) plot(z.yr, type = "o") On Wed, Mar 11, 2009 at 9:25 AM, Qianfeng Li <qflichem at yahoo.com> wrote:> Sorry, this is my first time to post. > > I have a big data set: first colume is date (ex: 2008-2-150, the second is time (10:30:00), and the following columes are variaty measurement data. Every 30 min, I have one data. > > I want to find an effecient way to calculate the hourly, daily, monthly and yearly average, and plot them, and eventually use these average data to do further analysis. > > Thanks! > Jeff > > > > ? ? ? ?[[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. >
Reasonably Related Threads
- how can I delete those columes with the same element in every row?
- how to create three new variables? Thanks a lot!
- Plotting monthly maps from yearly data
- What is the best way to lag a time series?
- another question: how to delete one of columes in two ones with high correlation(0.95)