前年比または増減率を求めるプログラムを教えてください。
rで前年比または増減率を求めるプログラムを作りたいのですが、どう処理すればいいのかわからず困っています。
データは教育用標準データセットのssdseを使っており、以下の様な内容です。
(仮に人口の増減率を知りたいとします。ただし、人口の増減率を知りたいわけではないので気にしないでください。)
年度 都道府県 人口 面積
2016 北海道 〇〇〇 ××
2015 北海道 〇〇〇 ××
2014 北海道 〇〇〇 ××
…
2005 北海道
2016 青森県 〇〇 ××
以下同様
都道府県はfactor、年度や人口、ほかのものはint型になっています。
最初はmutateを使おうとしましたが、mutateは一括で列を追加するものなのでうまくいきませんでした。また、summariseやapply関数も考えましたが同じようにうまくいきませんでした。
前年比の定義としては2016年の人口/2015年の人口というように考えています。
些細なことでもいいのでよろしくお願いします。
以下のプログラムはmutate関数で作ったプログラムです。(4列目に人口があります。2016年~2005年で12年分のデータがあります。)
for(i in 1:12){
if(i==12){
ss[i,]<-filter(ssdse,都道府県=="北海道")%>%
mutate(前年比=NA)
}
else{
ss[i,]<-filter(ssdse,都道府県=="北海道")%>%
mutate(前年比=ssdse[i,4]/ssdse[i+1,4])
}
}