How to use Aggregate function in R

10,245

Solution 1

aggregate(FLOWS ~ SPORT, dat, function(x) sum(as.numeric(x)))

where dat is the name of your matrix.

Here, the function is.numeric is necessary to transform the second column into numbers.

Solution 2

Assuming your dataframe is named "sport_data", I think you just want:

aggregate(sport_data, sport_data$SPORT, sum)

If you just have individual counts (that are all equal to 1), then "tabulate" may be a simpler option.

Please let us know what kind of errors you are getting. (if this doesn't work, or in the future, in your question)

Share:
10,245
Jan Jůna
Author by

Jan Jůna

I'm freelance programmer with love for JavaScript technologies such as Node.JS and Angular.JS.

Updated on June 18, 2022

Comments

  • Jan Jůna
    Jan Jůna about 2 years

    can you help me please how to properly use aggregate function in R? I have data like this:

    SPORT   FLOWS
    [1,] "Other" "1"  
    [2,] "Other" "1"  
    [3,] "Other" "1"  
    [4,] "Other" "1"  
    [5,] "Other2" "1"  
    [6,] "Other2" "1"
    

    And I need to get this:

    SPORT   FLOWS
    [1,] "Other" "4"
    [2,] "Other2" "2"
    

    I found, that it can be done with aggregate function, but it doesn't work..

    Thank you guys.. I have marked answer which worked for me..