ある年がうるう年かどうかを計算する関数を作成しました。次のようになります。
isLeapday<-function(x) {
if (as.numeric(x)%%100==0 & as.numeric(x)%%400==0 | as.numeric(x)%%4==0 & as.numeric(x)%%100!=0) return (TRUE)
else return (FALSE)
}
isLeapday(x)
エラーメッセージが表示されます
"In if(as.numeric(x)%% 100 == 0&as.numeric(x)%% 400 == 0 | as.numeric(x)%% 4 ==:条件の長さは>1でのみ最初の要素が使用されます」
基本的に最初の値のみが計算されますが、ベクトル内のすべての値をカウントし、可能であれば論理ベクトルを返すようにするにはどうすればよいですか?