QQ登录

只需要一步,快速开始

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

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

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

1

主题

0

听众

2

积分

升级  40%

该用户从未签到

自我介绍
在校学生
跳转到指定楼层
1#
发表于 2013-8-1 06:07 |只看该作者 |正序浏览
|招呼Ta 关注Ta
我要写个function来检验末年是否是闰年。开头这样:
  1. leapyear<-function(x){}
复制代码
闰年这里的定义是:* ^" H/ v* P, d( k
如果那一年可以整除4(比如2004),2月就有29天
$ g9 a+ M) n! U" d/ u如果那一年不能整除100  j7 @0 E3 j4 O1 H3 ?& a
如果那一年可以整除400: }- \+ b0 r  C& r; M
) P; K& V1 G  m# L& Y2 Q( I! c
如果x<1,这个function就要return “error”。我不大懂这个条件的意思,可否请大师解释下?
5 {) K3 G- w  f) {7 [1 r; V9 b$ I( ^
我写的function是这样的:
  1. leapyear<- function(dates, years_to_add)
    ' R5 H5 ~) b( ~. J0 P' p
  2. {
    : q( e0 c8 P, b% _, g2 {
  3.   if(!require(lubridate)) stop("install lubridate")
    $ T\" F\" j& z  w* X8 l
  4.   if(years_to_add > floor(years_to_add)) stop("error")
    3 S$ ?& R( l: ^: H( V: [  [1 C$ g
  5.   3 x# }. h7 e\" |' T
  6.   new <- dates + years(years_to_add)3 y8 s4 L( u9 m) w
  7.   new[3 V) P5 J6 I6 s) L. l0 g
  8.     leap_year(year(dates)) &
      q8 \' _  j6 a# g  ]& f
  9.       !leap_year(year(dates) + years_to_add) &
    5 D& m; l# V6 E
  10.       month(dates) == 2 & : b# T  Y, B9 m7 u9 k
  11.       day(dates) == 29
    # K$ t: x( g. N8 ]: e/ L9 g
  12.     ] <- NA
    $ S4 l4 `# U* F2 e\" ?% I/ r5 ~
  13.   new_dates
    ; E6 V( ]  m, ]* F* B7 K
  14. }  C8 s5 u9 D6 d+ ]
  15. \" t  f9 a$ @' x4 v4 t
  16. dates <- ymd(c("2004-2-28", "2004-2-29"))
复制代码
不知道对不对,但是检验的时候显示ymd找不到。。。。7 i3 L8 M5 v5 m: e& _$ l

. @5 I4 M# I3 H1 T8 v& ?请各位大师帮帮忙!小妹感激不尽!
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-10-28 21:51 , Processed in 1.530900 second(s), 60 queries .

回顶部