Вы можете сделать:
row.names(df) = df[,1]
with(data.frame(as.table(as.matrix(df[,-1]))),
data.frame('Year-Month' = paste(Var1,Var2,sep='-'),Value=Freq))
или вы также можете сделать:
with(cbind(year=df[,1],stack(df[,-1])),
data.frame(year=paste(year,ind,sep='-'),val=values)[order(year),])