QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2326|回复: 0
打印 上一主题 下一主题

怎样用function来检验是否是闰年

[复制链接]
字体大小: 正常 放大
夜筱巫        

1

主题

0

听众

2

积分

升级  40%

该用户从未签到

自我介绍
在校学生
跳转到指定楼层
1#
发表于 2013-8-1 06:07 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
我要写个function来检验末年是否是闰年。开头这样:
  1. leapyear<-function(x){}
复制代码
闰年这里的定义是:9 B9 b4 S! `8 ~; h1 }2 t( X
如果那一年可以整除4(比如2004),2月就有29天' V, h/ N6 n7 k6 m1 }
如果那一年不能整除100$ {6 b2 k6 t! S( b( e
如果那一年可以整除400
# y! i) y# k( P, F
% Q8 w: }0 k2 s% n3 L) ?) w3 ?, ^如果x<1,这个function就要return “error”。我不大懂这个条件的意思,可否请大师解释下?
! k' K: X3 R1 z: T; ?; j$ L0 L" O2 z$ }  h/ ]7 w! Z7 w
我写的function是这样的:
  1. leapyear<- function(dates, years_to_add)+ v2 ~( M1 W5 F, [$ q& F
  2. {
    & e8 Y7 e1 g0 m, ~' i. {
  3.   if(!require(lubridate)) stop("install lubridate")) ]5 I\" i% q! W1 O5 Z( @* J/ \: W' d
  4.   if(years_to_add > floor(years_to_add)) stop("error")\" W. @9 G+ `, W7 f. ]
  5.   
    ; n2 Z# J+ R- z( T3 g( @- M3 e
  6.   new <- dates + years(years_to_add)
    ) S; t/ K. Q8 f- t/ A
  7.   new[) `0 t$ T, @- k5 \
  8.     leap_year(year(dates)) &
    $ }- a\" Y6 n, C
  9.       !leap_year(year(dates) + years_to_add) &
    ( @& f1 C/ q. S+ P/ i- M$ B
  10.       month(dates) == 2 & * D& y& ]! x3 S* [' _+ C9 o
  11.       day(dates) == 292 ?! W/ g+ q$ h% s
  12.     ] <- NA% O8 K: K8 Z1 r+ ]5 Z2 E3 H
  13.   new_dates; L! q) {5 T2 o
  14. }' }% ?* a# J\" C+ a, ^/ O4 l& s
  15. 6 D2 _5 o1 E! j! ]- t& V
  16. dates <- ymd(c("2004-2-28", "2004-2-29"))
复制代码
不知道对不对,但是检验的时候显示ymd找不到。。。。
# s+ F9 }2 Y4 Q8 T0 R" u/ L
* a$ h5 g  P$ v8 ?. a5 d+ P请各位大师帮帮忙!小妹感激不尽!
zan
转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
您需要登录后才可以回帖 登录 | 注册地址

qq
收缩
  • 电话咨询

  • 04714969085
fastpost

关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

手机版|Archiver| |繁體中文 手机客户端  

蒙公网安备 15010502000194号

Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

GMT+8, 2026-6-13 02:23 , Processed in 0.438272 second(s), 59 queries .

回顶部