QQ登录

只需要一步,快速开始

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

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

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

1

主题

0

听众

2

积分

升级  40%

该用户从未签到

自我介绍
在校学生
跳转到指定楼层
1#
发表于 2013-8-1 06:07 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
我要写个function来检验末年是否是闰年。开头这样:
  1. leapyear<-function(x){}
复制代码
闰年这里的定义是:
# ], Y7 f9 i7 t# q如果那一年可以整除4(比如2004),2月就有29天9 f6 P' ~) |: p, g! s
如果那一年不能整除100/ c0 A: H* e+ O: r) I5 H
如果那一年可以整除400# {9 a, k+ x- F
% ?4 a- Q3 b9 G% m
如果x<1,这个function就要return “error”。我不大懂这个条件的意思,可否请大师解释下?
( ]! z1 [! V. P! p# e( K
) u# \* W* f+ H3 E" P) F我写的function是这样的:
  1. leapyear<- function(dates, years_to_add)
    ! \( S& r  c5 Y, g2 `. b
  2. {
    ' e; w/ D- _% S' W8 B* Q
  3.   if(!require(lubridate)) stop("install lubridate")$ T: }4 p, X+ W' a, ]* l2 T
  4.   if(years_to_add > floor(years_to_add)) stop("error")+ t9 J6 {% d* W9 y7 J
  5.   & s) D; M) G7 y( E3 V
  6.   new <- dates + years(years_to_add)( k) x' D7 [6 y7 z% D/ W# f
  7.   new[7 L: V! f& K, c$ T% U) f5 i
  8.     leap_year(year(dates)) & 5 P$ H4 H/ R. A/ H. e
  9.       !leap_year(year(dates) + years_to_add) & ( s: s8 }/ [0 M3 B9 y
  10.       month(dates) == 2 &
      B& ~* i* H' [\" [9 q6 _
  11.       day(dates) == 29
    * c8 C( ?  @3 u+ k
  12.     ] <- NA
    ' l1 H; L  K' E4 [9 A
  13.   new_dates& {& S! v4 N4 v' K: J' ~
  14. }
    # @0 Q* g. t. W, [/ L& N( L$ V+ D! [
  15. & @; B1 y  s: D
  16. dates <- ymd(c("2004-2-28", "2004-2-29"))
复制代码
不知道对不对,但是检验的时候显示ymd找不到。。。。$ k+ E) \7 u1 s: V; T
0 O- X7 O4 ~3 G- Q
请各位大师帮帮忙!小妹感激不尽!
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, 2025-8-20 06:33 , Processed in 0.603910 second(s), 60 queries .

回顶部