Thank you very much Stephen, but how will aggregate deal with months that fall outside annual quarters? eg, one extra month at the end of the dataset?
2008/8/18 stephen sefick <[EMAIL PROTECTED]> > ?aggregate > may do what you want > > On Mon, Aug 18, 2008 at 8:19 AM, Denise Xifara > <[EMAIL PROTECTED]> wrote: > > Dear R users, > > > > I have a dataframe where column is has countries, column 2 is dates > > (monthly) for each countrly, the next 10 columns are my factors where I > have > > measurements for each country and for each date. I have attached a > sample > > of the data in csv format with the data for 3 countries. > > > > I would like to convert my monthly data into quarterly data, finding the > > mean over 3 month periods for factors a-i, and the sum for factor j. My > > problem is that not all countries have starting date at the beginning of > a > > quarter for a particular year, ie some countries start in May or > September, > > and also some countries have one extra month, some have two extra months > so > > there's no way of deleting some rows with a simple command (I want to get > > rid of all extra data that does not fall into the quarters for each > > country), since the amount of data to get rid of for each country varies. > > > > I tried for example: > > i=1 > > denise<-data[((data$country)==unique(data$country[i]),] > > denise[,2]<- as.Date(denise$date, "%Y-%m-%d") > > denise2<-denise[order(denise[,2],decreasing=FALSE),] > > len<-length(denise[,1]) > > limit<-floor(len/3)+1 > > splitter<-rep(1:limit,each=3) > > spl.dat<-split(denise2,splitter) > > new.data<-as.matrix(lapply(spl.dat,FUN="mean")) > > > > This finds the mean every 3 rows but this doesnt consider the data > quarterly > > in a calendar sense. ie if the data starts in november, it doesnt > discard > > the data for november, december and start calculating the means from > january > > onwards, until the month where the last quarter finishes, discarding any > > extra month, or two months at the end. > > > > I tried converting my data frame/matrix to a time series but the dates > are > > not kept. I got: > > > >>tser<-as.ts(denise) > > Warning message: > > In data.matrix(data) : class information lost from one or more columns > > > > and column 2 has become a list of numbers rather than dates. > > > > I tried: > > > >> library(fCalendar) > >> den.tseries<-as.timeSeries(denise) > > Warning messages: > > 1: In .whichFormat(charvec, ...) : Could not determine time(date) format > > 2: In .whichFormat(charvec, ...) : Could not determine time(date) format > >> is.timeSeries(den.tseries) > > [1] TRUE > >> apply.quarterly(den.tseries,FUN="mean") > > data > > 1970-01-01 -2.425000000 > > 1970-04-01 -0.557961111 > > 1970-04-28 0.009814815 > > > > Here, it calculates things quarterly but the the as.timeSeries command > has > > assigned its own daily dates to the data, instead of keeping my monthly > > dates. Also, I don't understand how it deals with the extra dates. > > > > Sorry for the long email, > > Any help would be very much appreciated, > > Kind regards, > > Denise > > > > ______________________________________________ > > 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<http://www.r-project.org/posting-guide.html> > > and provide commented, minimal, self-contained, reproducible code. > > > > > > > > -- > Let's not spend our time and resources thinking about things that are > so little or so large that all they really do for us is puff us up and > make us feel like gods. We are mammals, and have not exhausted the > annoying little problems of being mammals. > > -K. Mullis > [[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.