QQ登录

只需要一步,快速开始

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

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

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

1

主题

0

听众

2

积分

升级  40%

该用户从未签到

自我介绍
在校学生
跳转到指定楼层
1#
发表于 2013-8-1 06:07 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
我要写个function来检验末年是否是闰年。开头这样:
  1. leapyear<-function(x){}
复制代码
闰年这里的定义是:
' t7 u: h* V6 O$ e如果那一年可以整除4(比如2004),2月就有29天' B0 s+ Q6 V, I: U4 x3 x6 j! o2 ~8 |
如果那一年不能整除100
) ~+ d* y& Q2 F' j5 e6 J# d9 P如果那一年可以整除400
1 m! z: ]2 V& B  _9 J9 S- D7 M) l& L- y3 ~1 x
如果x<1,这个function就要return “error”。我不大懂这个条件的意思,可否请大师解释下?, N8 f$ N& A3 a2 `! s
/ R8 N8 m/ T  s' S$ s
我写的function是这样的:
  1. leapyear<- function(dates, years_to_add)
    ' ^9 g: c2 O/ v, K  o! K: ~+ E
  2. {
    5 W; Y0 v1 ~! V+ m+ u: {
  3.   if(!require(lubridate)) stop("install lubridate")
    1 N; V9 T0 ^1 i. k% t5 g, K, H# |
  4.   if(years_to_add > floor(years_to_add)) stop("error")
    \" f9 j) B+ W  d. |6 a
  5.     O7 {+ C\" l* q, n4 Y. Y( k- N- r* ^
  6.   new <- dates + years(years_to_add)
    ; ?. \; y4 [/ G' G
  7.   new[
    + Z6 G+ h. [6 K
  8.     leap_year(year(dates)) &
    ( G9 Q9 e& v; m) l& ]0 p( k4 F
  9.       !leap_year(year(dates) + years_to_add) &
    3 C# A. u. }4 @2 m0 X
  10.       month(dates) == 2 & ) g* `3 a# f+ @9 i+ C
  11.       day(dates) == 292 L\" P* y6 s* w3 s: F, D2 X, m1 V
  12.     ] <- NA6 I' V9 G\" }4 Y6 \; U1 C* a6 T8 _7 q
  13.   new_dates
    - U! j3 |; q2 O, d
  14. }2 k# @* c+ T1 C6 W6 b
  15. $ d9 v3 H: u$ T! ~( \
  16. dates <- ymd(c("2004-2-28", "2004-2-29"))
复制代码
不知道对不对,但是检验的时候显示ymd找不到。。。。
; L  t3 e9 c/ g
; @8 Q; H! |1 l请各位大师帮帮忙!小妹感激不尽!
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-10-24 02:34 , Processed in 0.805536 second(s), 60 queries .

回顶部