[R] how to calculate "conditional" mean?

Terry Mu muster at gmail.com
Sun Dec 5 18:52:33 CET 2004


thanks, this time it works perfectly.

I use

tapply(DF$count, format(Dates, '%m-%d'), mean).

as Patrick mentioned. It works without as.date().

with as.date() on, it gives a result one day after the actual date.

I also got subset().

Thank you all very much. I like R and will learn more.

Terry

On Sun, 5 Dec 2004 17:33:23 +0000 (UTC), Gabor Grothendieck
<ggrothendieck at myway.com> wrote:
> 
> Place Dates in DF and use subset(DF, month == 2) in place of DF.
> I think you need to reread the Introduction to R manual since you
> should find this sort of question answered there.  If not the pointers
> I gave you should get you started.
> 
> Terry Mu <muster <at> gmail.com> writes:
> 
> : 
> : thank you,
> 
> 
> :
> : one more question:
> :
> : How can I list only values for given condition?
> : for example, I want to see only data from febuary, i.e. month=2?
> :
> : On Sun, 5 Dec 2004 16:26:11 +0000 (UTC), Gabor Grothendieck
> : <ggrothendieck <at> myway.com> wrote:
> : > Terry Mu <muster <at> gmail.com> writes:
> : >
> : > :
> : > : a data set like this:
> : >
> : >
> : > :
> : > : year   month    day    count
> : > : 2001     1            1         10
> : > : 2001     1            2          11
> : > : ....
> : > : 2004     7            17        8
> : > : ....
> : > :
> : > : basically it is a count of of some numbers everyday through a few years
> : > :
> : > : now I'd like to get the mean of the count for every day.
> : > :
> : > : I thought I can do this using for and ifelse,
> : > : but is there a simple way to do this? I wish a function like
> : > : mean(count, 'only when year, month, day are equal') could do this.
> : >
> : > You want to represent your dates as objects of the Date class
> : > and then use tapply.  (See ?as.Date, ?Date, ?tapply, ?paste, ?with.
> : > Also look up ?aggregate and ?by and read about dates in R News 4/1.)
> : > Assuming DF is your data frame:
> : >
> : >    Dates <- with(DF,
> : >        as.Date( paste(year, month, day, sep="-") )
> : >    )
> : >    tapply(DF$count, Dates, mean)
> : >
> : >
> : >
> : > ______________________________________________
> : > R-help <at> stat.math.ethz.ch mailing list
> : > https://stat.ethz.ch/mailman/listinfo/r-help
> : > PLEASE do read the posting guide! http://www.R-project.org/posting-
> guide.html
> : >
> :
> : ______________________________________________
> : R-help <at> stat.math.ethz.ch mailing list
> : https://stat.ethz.ch/mailman/listinfo/r-help
> : PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
> :
> :
> 
> ______________________________________________
> 
> 
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
>




More information about the R-help mailing list