QQ登录

只需要一步,快速开始

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

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

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

1

主题

0

听众

2

积分

升级  40%

该用户从未签到

自我介绍
在校学生
跳转到指定楼层
1#
发表于 2013-8-1 06:07 |只看该作者 |正序浏览
|招呼Ta 关注Ta
我要写个function来检验末年是否是闰年。开头这样:
  1. leapyear<-function(x){}
复制代码
闰年这里的定义是:( d, J3 [5 f/ {  Z
如果那一年可以整除4(比如2004),2月就有29天; z7 \; D, T5 r7 |. e
如果那一年不能整除100
: }6 ^1 t" t% ~# b4 g% Q# t如果那一年可以整除400
) R" t9 y7 r/ D; I) E9 q
8 n5 ]- `% m" U' r5 Y如果x<1,这个function就要return “error”。我不大懂这个条件的意思,可否请大师解释下?
! w9 V9 O1 o( W* [5 ~% m. t
( Q* j- A/ K% K3 Z5 E我写的function是这样的:
  1. leapyear<- function(dates, years_to_add)\" q2 t) i$ T: r2 A. G5 C5 E9 L' p
  2. {
    \" T( u8 c$ T* m7 a0 k( a1 q
  3.   if(!require(lubridate)) stop("install lubridate")
    / {+ ^( g1 i) U7 }' ^' `* ~7 `) u1 V  i
  4.   if(years_to_add > floor(years_to_add)) stop("error")
    ) U1 X+ p3 X5 {  k7 B
  5.   6 ~- K8 E- `% N& X  O  [' J
  6.   new <- dates + years(years_to_add)
    9 n# K. o, U- t- ~8 f0 g( y* B\" O
  7.   new[
    $ T; ]4 d) T0 Y3 L$ T: v7 z
  8.     leap_year(year(dates)) &
    ) A\" n- D& P2 S* h2 J
  9.       !leap_year(year(dates) + years_to_add) & 8 \) D+ g6 ~7 t( r3 r
  10.       month(dates) == 2 &
    / X  V/ F\" z/ h( t6 O
  11.       day(dates) == 29; j4 U+ S0 s- V
  12.     ] <- NA8 r$ ?2 [4 m) K1 ^/ D0 S0 j
  13.   new_dates# d4 A& P! B) M3 p
  14. }& A/ {4 u1 H2 Z( X5 |. L
  15. 9 _' z& J  k) W9 a' p/ A  v
  16. dates <- ymd(c("2004-2-28", "2004-2-29"))
复制代码
不知道对不对,但是检验的时候显示ymd找不到。。。。
( \( }6 t. r  M9 h0 X
6 h6 U) T( x; ~6 i请各位大师帮帮忙!小妹感激不尽!
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-6-16 06:46 , Processed in 1.005460 second(s), 62 queries .

回顶部