[R] tapply

mike.campana@freesurf.ch mike.campana at freesurf.ch
Thu Mar 18 09:39:02 CET 2004


Dear all
I have a dataframe containing hourly data of 3 parameters. 
I would like to create a dataframe containg daily mean values of these 
parameters. Additionally I want to keep information about time of 
measurement ("year","month","day"). 
With the function tapply I can average  over a column of the dataframe. 
I can repeat the function 2 time and  merge the vectors. In this way I 
obtain my new dataframe (see below).If I want to add the column day, 
month and year I can repeat tapply other three time. This system works.  


Question: is there a function that average in a single step over the 3 
columns?

Thanks a lot for your answer!
Regards
Mike Campana   

#### read the data
setwd("c:/R")
data <- NULL
data <- as.data.frame(read.table(file="Montreal.txt",header=F,skip=15))
colnames(data) 
<-c("year","month","day","hour","min","temp","press","ozone")
### create  mean value
temp_daily <- 
tapply(data$temp,data$year*10000+data$month*100+data$day,FUN=mean)
press_daily <- 
tapply(data$press,data$year*10000+data$month*100+data$day,FUN=mean)
ozone_daily <- 
tapply(data$ozone,data$year*10000+data$month*100+data$day,FUN=mean)
### merge the data
newdata <- as.data.frame (cbind(temp_daily,temp_daily,temp_daily))

---



---



---



---



---




More information about the R-help mailing list