MATLAB: Finding yearly average of data in a matrix

MATLABmatrix mean

I have a 13459×2 matrix where the first column is the year the data was taken and the second column is the data value. The data was taken "daily" for each year but a lot of the years do not actually have the same number of data points. I was originally going through and looking for which rows the years started and ended and my code looked like this:
mean1978 = (sum(iceArea(1:34,2)))/34;
But this became really tedious considering this is over the course of 40 years and 13459 rows to sift through. So is there a way where I could just say something like
mean1978 = (sum(iceArea(==1978,2)))/ % # of rows ==1978;
so I just enter the year instead of finding the start and end rows?

Best Answer

Of course there is..."grouping variables"
[meanByYear,yr,yrcounts]=groupsummary(iceArea(:,2),iceArea(:,1),'mean');