QQ登录

只需要一步,快速开始

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

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

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

1

主题

0

听众

2

积分

升级  40%

该用户从未签到

自我介绍
在校学生
跳转到指定楼层
1#
发表于 2013-8-1 06:07 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
我要写个function来检验末年是否是闰年。开头这样:
  1. leapyear<-function(x){}
复制代码
闰年这里的定义是:
7 ]7 n" b2 p5 e0 |% F/ k' P/ I2 _如果那一年可以整除4(比如2004),2月就有29天
6 Q6 r& d$ E9 {0 i如果那一年不能整除100. Z" n( c) ]8 r4 p& y! b' N
如果那一年可以整除4001 V# E7 v" n" i
1 Q# [, |$ U% b% j
如果x<1,这个function就要return “error”。我不大懂这个条件的意思,可否请大师解释下?
6 C; c3 p2 ^. h- S" R0 I, P3 l6 Y. E9 F2 d0 Q
我写的function是这样的:
  1. leapyear<- function(dates, years_to_add)* |3 ~5 s* [' P
  2. {
    4 b. z0 \7 p% K$ p
  3.   if(!require(lubridate)) stop("install lubridate")  d/ M4 f' i$ d- @
  4.   if(years_to_add > floor(years_to_add)) stop("error")
    * g4 o- g1 E! L& b
  5.   ; ^' G; ~  t; x9 t/ e* Y9 ]
  6.   new <- dates + years(years_to_add)
    * i# y3 f# U0 O/ w
  7.   new[
    $ I) z- d% t' B
  8.     leap_year(year(dates)) & ) ?( m+ t, U7 l+ r6 e: r3 A) x
  9.       !leap_year(year(dates) + years_to_add) &
    # m. F' ]1 z\" K# P# t/ f
  10.       month(dates) == 2 & # w% O( M7 G) [% I# f- e' |
  11.       day(dates) == 297 p) @! Q' S; Z1 J9 h
  12.     ] <- NA
    5 l1 K+ E% J% U3 E! f' j
  13.   new_dates
    ) T$ ]7 `7 A% ?$ k! `: p
  14. }
      c& q4 a$ b! ?7 d: K5 l0 E( C0 Z
  15. ( u! I, U' y0 ?: a( H
  16. dates <- ymd(c("2004-2-28", "2004-2-29"))
复制代码
不知道对不对,但是检验的时候显示ymd找不到。。。。
3 `; W0 z2 h0 O0 E6 }8 ~! E9 o% U/ Z
请各位大师帮帮忙!小妹感激不尽!
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-8-26 00:46 , Processed in 0.684327 second(s), 59 queries .

回顶部