QQ登录

只需要一步,快速开始

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

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

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

1

主题

0

听众

2

积分

升级  40%

该用户从未签到

自我介绍
在校学生
跳转到指定楼层
1#
发表于 2013-8-1 06:07 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
我要写个function来检验末年是否是闰年。开头这样:
  1. leapyear<-function(x){}
复制代码
闰年这里的定义是:2 {% N! B! i& M5 h/ H) y. R) l
如果那一年可以整除4(比如2004),2月就有29天" h+ J9 h+ K. J8 b9 t
如果那一年不能整除100  p  f; D# O4 H. T+ Z2 B
如果那一年可以整除400
$ z, X6 |) ?, E7 n
1 R2 H/ I" Q. L8 ]/ e# V如果x<1,这个function就要return “error”。我不大懂这个条件的意思,可否请大师解释下?# ^& g$ G* b+ w6 n5 V

- G: j; |7 q% x' |. B  [  i$ G我写的function是这样的:
  1. leapyear<- function(dates, years_to_add)& _: |+ a$ x9 M+ A9 b0 ~* D+ o
  2. {
    $ z6 [8 P\" N3 f  i3 ~. F- J
  3.   if(!require(lubridate)) stop("install lubridate")
    \" j! {$ p\" Y: L& }2 w2 ~7 X
  4.   if(years_to_add > floor(years_to_add)) stop("error")
    $ q1 l) Z2 P# \4 w' |$ L: i3 }
  5.   \" Z+ a1 D* E' M1 H8 b
  6.   new <- dates + years(years_to_add)
    . O$ F7 ~2 U! f
  7.   new[2 J% E+ u\" x\" [8 \, V$ Y% B
  8.     leap_year(year(dates)) & & E( b  {. o8 Y  p+ _! A5 Z
  9.       !leap_year(year(dates) + years_to_add) & + ?3 Y7 g4 \+ L; u6 U1 [
  10.       month(dates) == 2 & ( i( ~  n/ G3 U6 F1 Y! d0 l  |: I) g
  11.       day(dates) == 29
    , j! J- X1 Z3 p0 t: C
  12.     ] <- NA
    $ L; {4 T2 U* c( V; f$ Y
  13.   new_dates4 e; U  r3 G\" l: }' [4 K$ k8 T
  14. }
    1 Q\" U$ @+ r! d2 U: g

  15.   M6 V! r( G5 x9 l+ _' a
  16. dates <- ymd(c("2004-2-28", "2004-2-29"))
复制代码
不知道对不对,但是检验的时候显示ymd找不到。。。。' u# f/ c0 X0 b9 h) h

. u' x0 ?0 U$ {) z; Y/ Q" G请各位大师帮帮忙!小妹感激不尽!
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 13:42 , Processed in 0.504130 second(s), 60 queries .

回顶部