sparseby's FUN argument needs to be a function
that accepts a data.frame.

mean() has a data.frame method that returns a vector
of column means but most of the other summary functions
(e.g., median, min, max, quantile) do not work on data.frames.

You can use aggregate() instead of by() or sparseby(), as
its function is applied to each column of each data.frame,
not to a whole data.frame.

Bill Dunlap
Spotfire, TIBCO Software
wdunlap tibco.com  

> -----Original Message-----
> From: r-help-boun...@r-project.org 
> [mailto:r-help-boun...@r-project.org] On Behalf Of Ben Stewart
> Sent: Wednesday, April 21, 2010 10:17 AM
> To: r-help@r-project.org
> Subject: [R] Sparseby Problems
> 
> I've got a problem with the sparseby command (reshape 
> library), and I have
> reached the peak of my R knowledge (it isn't really that high).
> 
> I have a small data frame of 23 rows and 15 columns, here is 
> a subset, the
> first four columns are factors and the rest are numeric (only 
> one, line54 is
> provided).
> 
>    bearID YEAR Season SEX      line54
> 5    1900    8      3   0  16.3923519
> 11   2270    5      1   0 233.7414014
> 12   2271    5      1   0 290.8207652
> 13   2271    5      2   0 244.7820844
> 15   2291    5      1   0   0.0000000
> 16   2291    5      2   0  14.5037795
> 17   2291    6      1   0   0.0000000
> 18   2293    5      2   0 144.7440752
> 19   2293    5      3   0   0.0000000
> 20   2293    6      1   0  16.0592270
> 21   2293    6      2   0  30.1383426
> 28   2298    5      1   0   0.9741067
> 29   2298    5      2   0   9.6641018
> 30   2298    6      2   0   8.6533828
> 31   2309    5      2   0  85.9781303
> 32   2325    6      1   0 110.8892153
> 35   2331    6      1   0  26.7335562
> 44   2390    7      2   0   7.1690620
> 45   2390    8      2   0  44.1109897
> 46   2390    8      3   0 503.9074898
> 47   2390    9      2   0   8.4393660
> 54   2416    7      3   0  48.6910907
> 58   2418    8      2   0   5.7951139
> 
> Sparseby works fine when I try to calculate mean
> 
> >sparseby(mF[1:5], mF$Season, mean)
> 
>   mF$Season bearID YEAR Season SEX    line54
> 1         1     NA   NA     NA   0  84.90228
> 2         2     NA   NA     NA   0  54.90713
> 3         3     NA   NA     NA   0 142.24773
> 
> But it goes nuts when looking for max or min
> 
> > sparseby(mF[5:6], mF$Season, max)
>   mF$Season structure(c(2169.49621795108, 1885.22677689026, 
> 2492.17544685464
> 1         1                                                   
>       2169.496
> 2         2                                                   
>       1885.227
> 3         3                                                   
>       2492.175
> 
> Any ideas? All I want is to calculate create three 
> data.frames, mean, min
> and max.
> 
> Thanks,
> 
> Ben Stewart
> 
> ______________________________________________
> 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.
> 

______________________________________________
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.

Reply via email to