QQ登录

只需要一步,快速开始

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

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

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

1

主题

0

听众

2

积分

升级  40%

该用户从未签到

自我介绍
在校学生
跳转到指定楼层
1#
发表于 2013-8-1 06:07 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
我要写个function来检验末年是否是闰年。开头这样:
  1. leapyear<-function(x){}
复制代码
闰年这里的定义是:, @2 t* b4 d& f- o( X, Y/ Y0 v
如果那一年可以整除4(比如2004),2月就有29天4 p$ @; ]4 W, _- _
如果那一年不能整除100
  I+ f: q; T# R( Z1 N+ _如果那一年可以整除400
3 T1 r# g+ u' z
. K3 Y( X+ O5 ~. T2 ~+ o, g如果x<1,这个function就要return “error”。我不大懂这个条件的意思,可否请大师解释下?% b; r& o7 N& E
7 O+ e1 ^* B' ]! ^' O
我写的function是这样的:
  1. leapyear<- function(dates, years_to_add)
    ! `: w: L) c\" S/ ?6 m
  2. {
    9 r* o, o) Z+ A  P4 J0 d* H7 X0 F* m6 s
  3.   if(!require(lubridate)) stop("install lubridate")3 F! Q. m% u! L8 C) S5 ]
  4.   if(years_to_add > floor(years_to_add)) stop("error")* F0 I/ f7 n6 ~$ l0 \1 E
  5.   * p8 Z/ Y7 m; Y% W# ]2 q5 S+ `
  6.   new <- dates + years(years_to_add)) s( P2 Q4 x& Q
  7.   new[
    . F1 |1 `( @2 E6 G, b0 P  ]& K
  8.     leap_year(year(dates)) & $ b: ?- i9 v9 j) l8 g
  9.       !leap_year(year(dates) + years_to_add) & 6 J8 S& Y; ^' [
  10.       month(dates) == 2 & ( ^% M( d9 c' y. B5 m  x% }
  11.       day(dates) == 29$ q5 ?9 Z/ k! d0 w; _
  12.     ] <- NA/ I7 L\" B& f. g- s
  13.   new_dates, R) H\" P7 B5 J. l& |. x8 I* p
  14. }  B* D4 Z( ]0 G& Q2 z\" g

  15. 0 f9 @9 P, q\" O  w; H5 Z
  16. dates <- ymd(c("2004-2-28", "2004-2-29"))
复制代码
不知道对不对,但是检验的时候显示ymd找不到。。。。8 ?8 W& F) Z6 y

5 ^0 V0 g1 }$ C1 Z# J请各位大师帮帮忙!小妹感激不尽!
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-4-10 17:27 , Processed in 0.321674 second(s), 60 queries .

回顶部