On Wed, 14 Dec 2005, January Weiner wrote:

Hi,

I read about the by() function, but it does not seem to do the job I
need. Here is the problem:

by() will work, you just need to use the right function in it.

You want

by(df[,-1], df$Day, function.that.means.each.column)

so all you need to do is write  function.that.means.each.column()
In this case there is a built-in function, colMeans, so you don't even have to write it.

More generally (eg the approach would work for medians as well)

by(df[,1], df$Day, function(today) apply(today, 2, mean))

Finally, you could just use aggregate().

        -thomas

Say - I have a data frame, with three columns.  The first one contains
strings that describe the data points, with repeats (for example, days
of a week).  The other two contain numbers. Something like that:

Day val1 val2
Tue 1    2
Tue 2    8
Tue 3    5
Wed 1    2
Wed 1    8
etc.

Now I would like to have a data frame with averages for each week:

Day val1 val2
Tue 2    5
Wed 1    5
etc.
I now I can do tapply(DF$val2, DF$days, mean) to get the means for
val2. But I would like to have a data frame as result (as in reality I
have many more columns).

Further question: where can I find a good, advanced introduction to R
data types? R's help() function just kills my brain, and the tutorials
are very limited.

My kind regards,

January Weiner

--
------------ January Weiner 3  ---------------------+---------------
Division of Bioinformatics, University of Muenster  |  Schloßplatz 4
(+49)(251)8321634                                   |  D48149 Münster
http://www.uni-muenster.de/Biologie.Botanik/ebb/    |  Germany

______________________________________________
R-help@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


Thomas Lumley                   Assoc. Professor, Biostatistics
[EMAIL PROTECTED]       University of Washington, Seattle
______________________________________________
R-help@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

Reply via email to