QQ登录

只需要一步,快速开始

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

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

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

1

主题

0

听众

2

积分

升级  40%

该用户从未签到

自我介绍
在校学生
跳转到指定楼层
1#
发表于 2013-8-1 06:07 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
我要写个function来检验末年是否是闰年。开头这样:
  1. leapyear<-function(x){}
复制代码
闰年这里的定义是:
; c. Z. V; S- I1 @3 }% w) w% P3 I$ m8 k8 {如果那一年可以整除4(比如2004),2月就有29天
, h5 i0 b& C5 s, b1 b如果那一年不能整除100/ q8 @/ ]7 m+ M
如果那一年可以整除400
5 Z, x. o, i: q5 `& o& g7 I& o3 K; h8 z
如果x<1,这个function就要return “error”。我不大懂这个条件的意思,可否请大师解释下?, l" g: m8 g6 F6 e- {' J2 y

: S, h& t& g& R" D我写的function是这样的:
  1. leapyear<- function(dates, years_to_add). h% c9 d! S: F: J: \
  2. {
    2 H* Q- ~' m0 ~- i
  3.   if(!require(lubridate)) stop("install lubridate")
    % C+ C5 f; d$ o
  4.   if(years_to_add > floor(years_to_add)) stop("error")
    8 V( l2 n2 f. q! k1 I' E0 d. A
  5.   
    \" y+ ?4 ~; h, G\" |3 a+ y* q
  6.   new <- dates + years(years_to_add)( P0 h7 c' s, [, t1 D
  7.   new[3 N+ h! E1 I( r* T: c
  8.     leap_year(year(dates)) &
    5 J) W1 Z* V' x8 b$ _3 p
  9.       !leap_year(year(dates) + years_to_add) & , I3 ^9 B  M6 C9 e
  10.       month(dates) == 2 & - K8 F* H) K7 Q4 |1 i
  11.       day(dates) == 295 i! r9 H2 U7 Y; q1 s\" q3 M* q  ?/ U
  12.     ] <- NA
    & g9 u; F  E5 Z
  13.   new_dates
    / j0 c5 K/ J9 L1 D
  14. }# e3 O! [# p* [/ |
  15. 1 Y7 {. C\" U3 ~
  16. dates <- ymd(c("2004-2-28", "2004-2-29"))
复制代码
不知道对不对,但是检验的时候显示ymd找不到。。。。7 i( b  E# s: K" m! d' B5 L. L

5 U7 ~, _. x" D6 o0 M2 F, k+ f请各位大师帮帮忙!小妹感激不尽!
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-25 22:26 , Processed in 0.354439 second(s), 60 queries .

回顶部