闰年和R编程

时间:2017-09-06 13:13:05

标签: r

我想编写一个在指定的持续时间内返回闰年的函数。但是我的代码将结果作为逻辑向量返回。我能做什么得到数字向量的结果,如下面的代码,结果应该是" c(2000,2004,2008)"

    "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)
  

如果错误,则返回FALSE FUE FALSE FALSE FALSE TRUE FALSE FALSE

1 个答案:

答案 0 :(得分:1)

您的代码只需稍作修改即可:

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