QQ登录

只需要一步,快速开始

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

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

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

1

主题

0

听众

2

积分

升级  40%

该用户从未签到

自我介绍
在校学生
跳转到指定楼层
1#
发表于 2013-8-1 06:07 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
我要写个function来检验末年是否是闰年。开头这样:
  1. leapyear<-function(x){}
复制代码
闰年这里的定义是:2 z  w/ r; D: \( Y
如果那一年可以整除4(比如2004),2月就有29天% v) x" l! j6 D8 Z
如果那一年不能整除100) I" D5 f  m( u9 a  S7 Z
如果那一年可以整除400
& z9 u( r7 s& l% |5 T4 y5 ?
/ `  W! q% @! @+ `! P5 k如果x<1,这个function就要return “error”。我不大懂这个条件的意思,可否请大师解释下?
' H8 r( M0 g4 q; ?" d5 }7 ^
" i' E( n, p+ w  F! A5 J, S+ ~% d  V我写的function是这样的:
  1. leapyear<- function(dates, years_to_add)
    9 ?$ ?) F\" O+ L2 C
  2. {
    % F# \9 `$ L  ?% k
  3.   if(!require(lubridate)) stop("install lubridate")
    - s: |+ _% q: h2 f
  4.   if(years_to_add > floor(years_to_add)) stop("error")
      Q, [6 c1 D, X' Q1 G' C' g
  5.   
    5 \5 k# ?3 I, @( R  r: Z
  6.   new <- dates + years(years_to_add)
    ( [% h1 `% K* c
  7.   new[
    ( K# Y2 s8 B8 h4 x( D5 V
  8.     leap_year(year(dates)) &
    3 C+ K6 G3 |: l/ n6 ^6 O- \
  9.       !leap_year(year(dates) + years_to_add) &
    8 A! K% E\" S+ ?. |
  10.       month(dates) == 2 &
    # N5 e1 K# p- |. h7 M
  11.       day(dates) == 29: j3 W5 }  D- G* B7 y: L  n6 F
  12.     ] <- NA8 H6 g/ `: h6 F7 F
  13.   new_dates1 P& C% l\" D+ i! t* g
  14. }
    ' X0 r* N- Z, j5 C$ q5 |. k

  15. # f8 Y7 _: k' L1 k; ?! Y$ u2 ]
  16. dates <- ymd(c("2004-2-28", "2004-2-29"))
复制代码
不知道对不对,但是检验的时候显示ymd找不到。。。。% I9 c% X8 ]. d& x$ l; F

" c! ?( l* f* Q/ ^2 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, 2025-8-20 23:07 , Processed in 1.440784 second(s), 59 queries .

回顶部