QQ登录

只需要一步,快速开始

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

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

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

1

主题

0

听众

2

积分

升级  40%

该用户从未签到

自我介绍
在校学生
跳转到指定楼层
1#
发表于 2013-8-1 06:07 |只看该作者 |正序浏览
|招呼Ta 关注Ta
我要写个function来检验末年是否是闰年。开头这样:
  1. leapyear<-function(x){}
复制代码
闰年这里的定义是:# }4 @! v, ^' Y- F  ~& T
如果那一年可以整除4(比如2004),2月就有29天1 n/ k2 l5 v2 E- @
如果那一年不能整除100( D) ^6 \, D8 `) u) T, U
如果那一年可以整除400# T$ u. A" X! x+ d  g0 P

, U# L; b8 I- v$ C6 ^8 A如果x<1,这个function就要return “error”。我不大懂这个条件的意思,可否请大师解释下?+ ^1 x9 V+ q; I4 ^' P1 C# p

9 v+ ~. b, x9 i7 y3 Z我写的function是这样的:
  1. leapyear<- function(dates, years_to_add)0 l9 d4 e4 g1 U7 z7 K
  2. {% \. }6 a2 z1 W( L. t- u+ d
  3.   if(!require(lubridate)) stop("install lubridate")3 M& D; ^# K3 D& u
  4.   if(years_to_add > floor(years_to_add)) stop("error")& s8 P# K: [5 z4 r6 s, x
  5.   8 P4 l+ I/ {& C# {$ D5 `8 G5 w8 V
  6.   new <- dates + years(years_to_add)' z: B+ V9 L! a+ i) g
  7.   new[
    4 `+ W7 D( O- l$ z
  8.     leap_year(year(dates)) & 4 s$ R0 u! c1 N4 J6 D
  9.       !leap_year(year(dates) + years_to_add) & 6 M3 j- W9 B1 e' @& }3 B
  10.       month(dates) == 2 &
    9 S\" g# f' A8 ?- W& X
  11.       day(dates) == 29
    5 u$ v* h4 k# v6 I
  12.     ] <- NA3 ]* ^. }' r/ V5 n( O1 F! O
  13.   new_dates
    . J, x! @5 \% r& v8 o6 Y# H+ [
  14. }
    ; u' Z9 @* w7 V) t# v2 F( D2 k

  15. 7 V; ~( E3 Z1 O
  16. dates <- ymd(c("2004-2-28", "2004-2-29"))
复制代码
不知道对不对,但是检验的时候显示ymd找不到。。。。
( h, C$ f1 v" D+ f2 V! |3 z' i
请各位大师帮帮忙!小妹感激不尽!
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-23 11:51 , Processed in 0.419486 second(s), 60 queries .

回顶部