[R]その年が閏年か否かを調べる
閏年とはその年の数が以下の2つの条件を満たす年のこと。
- 4で割り切れる。
- 100で割り切れない。ただし400では割り切れる場合は除く。
例として、以下の年は閏年。
0、1996、2000、2012、2016、2020
以下の年は閏年ではない。
1、2、1900、1995、1999、2001、2015、2017
その年が閏年か否かを判定する関数leepyearを作成してみた。引数に年を与えるとその年が閏年であればTRUEを、閏年でなければFALSEを返す。
leepyear <- function(n) {
if ((n %% 4 == 0) && ((n %% 100 != 0) || (n %% 400 == 0))) {
return(TRUE)
} else {
return(FALSE)
}
}
この関数を使用した結果は以下のとおり。
> leepyear(0); leepyear(1); leepyear(2)
[1] TRUE
[1] FALSE
[1] FALSE
> leepyear(1900); leepyear(1995); leepyear(1996)
[1] FALSE
[1] FALSE
[1] TRUE
> leepyear(1999); leepyear(2000); leepyear(2001)
[1] FALSE
[1] TRUE
[1] FALSE
> leepyear(2015); leepyear(2016); leepyear(2017)
[1] FALSE
[1] TRUE
[1] FALSE





