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.
Pregunta
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..
Solución
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.
Otros consejos
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)
Try Aggregate function in r
test <- aggregate(df[,4:5] ,by=list(df$name),sum)