LoginSignup
14
13

More than 5 years have passed since last update.

R言語で年齢や月齢を計算する。

Posted at

目的

R言語で年齢や月齢を計算する。
(年単位や月単位で2つの日付差を計算する)

方法

(生年月日を1981/07/05とした場合)

年齢を求める

length(seq(as.Date("1981/07/05"), Sys.Date(), "year"))-1

月齢を求める

length(seq(as.Date("1981/07/05"), Sys.Date(), "month"))-1

詳細

年齢を計算するアルゴリズムとしては、

age = floor((20140917 - 19810705) / 10000); // PHPの場合

が有名ですが、型変換を行うとコードが煩雑になってしまうケースも多いと思います。

普通、Rで日付差を計算するにはdifftime()を使いますが、残念ながら週単位までしか使えません。

ということで、連続データを生成するseq()を使い、開始日~終了日(今回で言うと誕生日から処理日)までの年行列あるいは月行列を生成し、その数をカウントして年差、月差を計算しています。seq()は開始日を行列に含めるので、-1して年齢、月齢としています。

14
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
13