我想编写一个在指定的持续时间内返回闰年的函数。但是我的代码将结果作为逻辑向量返回。我能做什么得到数字向量的结果,如下面的代码,结果应该是" 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
答案 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