0

My data set sometimes contains multiple observations for the same year as below.

    id          country ccode year  region   protest protestnumber  duration
    201990001   Canada  20  1990    North America   1   1   1
    201990002   Canada  20  1990    North America   1   2   1
    201990003   Canada  20  1990    North America   1   3   1
    201990004   Canada  20  1990    North America   1   4   57
    201990005   Canada  20  1990    North America   1   5   2
    201990006   Canada  20  1990    North America   1   6   1
    201991001   Canada  20  1991    North America   1   1   8
    201991002   Canada  20  1991    North America   1   2   5
    201992001   Canada  20  1992    North America   1   1   2
    201993001   Canada  20  1993    North America   1   1   1
    201993002   Canada  20  1993    North America   1   2   62
    201994001   Canada  20  1994    North America   1   1   1
    201994002   Canada  20  1994    North America   1   2   1
    201995001   Canada  20  1995    North America   1   1   1
    201995002   Canada  20  1995    North America   1   2   1
    201996001   Canada  20  1996    North America   1   1   1
    201997001   Canada  20  1997    North America   1   1   13
    201997002   Canada  20  1997    North America   1   2   16

I need to sum up all values for the same year to one value per year. So that I receive one value per year in every column. I want to iterate this through the whole data set for all years and countries. Any help is much appreciated. Thank you!

Clemens
  • 41
  • 3
  • @Ronak Shah the post you mention up there doesn`t solve my problem unfortunately. – Clemens Mar 14 '18 at 10:32
  • Please edit your question with what you have tried, any error message and your expected output. – Ronak Shah Mar 14 '18 at 12:34
  • I tried the following: >aggregate(x$protest, by=list(Category=x$Category), FUN=sum) – Clemens Mar 14 '18 at 13:47
  • Using the following code: aggregate(newdata$protest, by=list(Category=newdata$year), FUN=sum) gives the number of years for all 180 countries. However, I would need the aggregated number of protests in each year for every country. Can anyone help me out here please? Thx – Clemens Mar 22 '18 at 11:37
  • do `aggregate(protest~Country+year, newdata, sum)`. – Ronak Shah Mar 22 '18 at 13:13

0 Answers0