2017-09-06 6 views
0

私は、指定された年の期間にうるう年を返す関数を書いておきたいと思います。しかし、私のコードは論理ベクトルとして結果を返します。私は、下記のコードのように結果が "C(2000,2004,2008)"うるう年とRプログラミング

"ans<- function(year1, year2) 
{return(((c(year1:year2) %% 4 == 0) & (c(year1:year2) %% 100 != 0)) | (c(year1:year2) %% 400 == 0)); return(c(year1:year2))}" 

ans(2000,2010) 

TRUE FALSE FALSE FALSE TRUE FALSE FALSE FALSE TRUE FALSE FALSE

あるべき数値ベクトルで結果を得る何を行うことができます
+0

このことは、年の任意の期間だけではなく、割り当てられたものとの間の閏年をチェックするために使用されるような別の質問です! – Zephyr

答えて

0

あなたのコードは、ちょうど若干の変更を必要とします:

ans<- function(year1, year2){ 
    return(c(year1:year2)[((c(year1:year2) %% 4 == 0) & (c(year1:year2) %% 100 != 0)) | (c(year1:year2) %% 400 == 0)])} 

> ans(2000, 2010) 
[1] 2000 2004 2008