[R] trying ti use a function in aggregate

Sally_roman sroman at umassd.edu
Thu Oct 25 16:19:57 CEST 2012


Hi -I am using R v 2.13.0.  I am trying to use the aggregate function to
calculate the percent at length for each Trip_id and CommonName.  Here is a
small subset of the data.  
   Trip_id          Vessel       CommonName Length Count
1      230        Sunlight    Shad,American     19     1
2      230        Sunlight    Shad,American     20     1
3      230        Sunlight    Shad,American     21     1
4      230        Sunlight    Shad,American     23     1
5      230        Sunlight    Shad,American     26     1
6      230        Sunlight    Shad,American     27     1
7      230        Sunlight    Shad,American     30     2
8      230        Sunlight    Shad,American     33     1
9      230        Sunlight    Shad,American     34     1
10     230        Sunlight    Shad,American     37     1
11     230        Sunlight Herring,Blueback     20     1
12     230        Sunlight Herring,Blueback     21     2
13     230        Sunlight Herring,Blueback     22     5
14     230        Sunlight Herring,Blueback     26     1
15     230        Sunlight          Alewife     17     1
16     230        Sunlight          Alewife     18     1
17     230        Sunlight          Alewife     20     2
18     230        Sunlight          Alewife     21     4
19     230        Sunlight          Alewife     22    16
20     230        Sunlight          Alewife     23    22
21     230        Sunlight          Alewife     24    16
22     230        Sunlight          Alewife     25     4
23     230        Sunlight          Alewife     26     1
24     230        Sunlight          Alewife     27     2
25     230        Sunlight          Alewife     28     2
26     231 Western Venture    Shad,American     23     1
27     231 Western Venture    Shad,American     24     1
28     231 Western Venture    Shad,American     25     1
29     231 Western Venture    Shad,American     28     2
30     231 Western Venture    Shad,American     29     2

My code is:
myfun<-function (x) x/sum(x)
b<-with(data,aggregate(x=list(Percent=Count),by=list(Trip_id=Trip_id,Length=Length,Species=CommonName),
FUN="myfun"))

My issue is that the percent is not be calculated by Trip_id and CommonName. 
The result is that each row has a percent of 1 indicating that myfun is not
dividing by the sum of counts with a Trip_id/CommonName group.  Any help
would be appreciated.
Thank you 





--
View this message in context: http://r.789695.n4.nabble.com/trying-ti-use-a-function-in-aggregate-tp4647414.html
Sent from the R help mailing list archive at Nabble.com.



More information about the R-help mailing list