QQ登录

只需要一步,快速开始

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

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

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

1

主题

0

听众

2

积分

升级  40%

该用户从未签到

自我介绍
在校学生
跳转到指定楼层
1#
发表于 2013-8-1 06:07 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
我要写个function来检验末年是否是闰年。开头这样:
  1. leapyear<-function(x){}
复制代码
闰年这里的定义是:
* n  E# F) f- k. t  t1 X如果那一年可以整除4(比如2004),2月就有29天: {' S1 s0 Z* D
如果那一年不能整除100$ ]! i0 M8 D: a
如果那一年可以整除400
/ r1 k% @1 C4 Q1 j, t4 t4 |/ h1 y; a4 i! ]- @2 M
如果x<1,这个function就要return “error”。我不大懂这个条件的意思,可否请大师解释下?
; s) S& M. ?  D- ]8 `- G% |6 _8 T! H: {
我写的function是这样的:
  1. leapyear<- function(dates, years_to_add)5 y6 a% x' c# m) T* S. J5 X& u$ Q
  2. {9 C4 S2 r6 d  R: c( ]) H
  3.   if(!require(lubridate)) stop("install lubridate")
    - P& Q. i0 i- c5 g2 j8 [
  4.   if(years_to_add > floor(years_to_add)) stop("error")
    + O- m5 S! S4 F) M
  5.   1 A4 R! J0 ^# L\" L, V( }' Y
  6.   new <- dates + years(years_to_add)$ P' Y% z6 [: F5 c
  7.   new[& x8 \; x. ?+ O# {& g  z2 X. F
  8.     leap_year(year(dates)) & . x4 R& E- c7 e& }
  9.       !leap_year(year(dates) + years_to_add) & - w* ]. ?' O' m0 z$ q8 }2 Q
  10.       month(dates) == 2 &
    - M7 V6 {1 F% i5 O+ E
  11.       day(dates) == 29
    \" T# O, e\" A8 h: e# r1 O7 H
  12.     ] <- NA% v* i! ]3 Y\" q% T
  13.   new_dates
    9 U# ~) ?4 i, }6 P! T% j
  14. }
    % ]0 x0 _& P/ w$ V6 @# o+ e

  15. 6 S- T' |* g) }
  16. dates <- ymd(c("2004-2-28", "2004-2-29"))
复制代码
不知道对不对,但是检验的时候显示ymd找不到。。。。
8 S% T# Q9 e! i9 m. B" S  @
9 m, Z" U$ X; k. A9 X请各位大师帮帮忙!小妹感激不尽!
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-16 09:19 , Processed in 0.623610 second(s), 60 queries .

回顶部