Вы можете использовать функцию dplyr
summarise_all
для этого.Вы можете попробовать что-то вроде этого:
ad <- data.frame(year = rep(2009:2012, 15), C = sample(-100:100, 60), N = sample(-100:100, 60))
> head(ad)
year C N
1 2009 0 49
2 2010 44 94
3 2011 -81 -84
4 2012 -43 55
5 2009 -64 14
6 2010 -62 31
library(tidyverse)
ad%>%group_by(year)%>%
summarise_all(funs(mean))
# A tibble: 4 x 3
year C N
<int> <dbl> <dbl>
1 2009 -1.2 10.9
2 2010 1 3.27
3 2011 -1.87 0.667
4 2012 -11.1 -9.73