« [R]スプライン関数で簡単に平滑化を行う | トップページ | [Access VBA]数値の計算時(特に割り算)に小数点以下の数値がおかしくなる »

2017年3月23日 (木)

[R]その年が閏年か否かを調べる

閏年とはその年の数が以下の2つの条件を満たす年のこと。

  1. 4で割り切れる。
  2. 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

« [R]スプライン関数で簡単に平滑化を行う | トップページ | [Access VBA]数値の計算時(特に割り算)に小数点以下の数値がおかしくなる »

R(日付と時刻)」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

« [R]スプライン関数で簡単に平滑化を行う | トップページ | [Access VBA]数値の計算時(特に割り算)に小数点以下の数値がおかしくなる »

無料ブログはココログ

■■

■■■