- 在线时间
- 0 小时
- 最后登录
- 2013-8-1
- 注册时间
- 2013-8-1
- 听众数
- 0
- 收听数
- 0
- 能力
- 0 分
- 体力
- 3 点
- 威望
- 0 点
- 阅读权限
- 10
- 积分
- 2
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1
- 主题
- 1
- 精华
- 0
- 分享
- 0
- 好友
- 1
升级   40% 该用户从未签到 - 自我介绍
- 在校学生
 |
我要写个function来检验末年是否是闰年。开头这样:闰年这里的定义是:
, |3 W3 z$ T8 Q2 Q如果那一年可以整除4(比如2004),2月就有29天0 C. w- [! V3 q2 G. c
如果那一年不能整除100+ a) K1 }& O5 {9 R# s3 }
如果那一年可以整除400
0 G" Z& d$ ?2 j* ]$ E. t) i
( Q7 Z5 w* z# y+ G; q1 U如果x<1,这个function就要return “error”。我不大懂这个条件的意思,可否请大师解释下?
" z2 ?- W2 }. ` N9 _1 V/ o* _5 k' X% B; R% u" ~
我写的function是这样的:- leapyear<- function(dates, years_to_add)
* S) N$ D% C4 ~& _3 X: F* V# v! s - {: ^) U4 S+ ^% p! h
- if(!require(lubridate)) stop("install lubridate")
* a' k# e, [% d' c - if(years_to_add > floor(years_to_add)) stop("error")
4 [. R\" p- D& h; s7 d( }8 @3 F+ o, U -
5 E; F% w- Y( D& D5 Y - new <- dates + years(years_to_add)) } E2 T2 P% H3 l0 c7 F
- new[: K: h3 X! a1 s& z$ C% H
- leap_year(year(dates)) &
! L5 k; J( ^$ }+ R - !leap_year(year(dates) + years_to_add) &
7 P$ e+ f0 ]5 T7 y; A$ Q - month(dates) == 2 & 5 C% {0 Y5 l5 g/ i4 J
- day(dates) == 29# ?+ B5 b0 p4 P6 j/ q& h8 p, K1 ~
- ] <- NA* C/ a/ ^6 I. B
- new_dates5 _# A$ @- z8 ]4 E/ O# I0 a+ U2 w$ F
- }
0 \: X/ Z$ h5 a% k: N; M - 8 A( d2 y. M- J* \5 @
- dates <- ymd(c("2004-2-28", "2004-2-29"))
复制代码 不知道对不对,但是检验的时候显示ymd找不到。。。。6 b6 O* ~; V, e5 Z) L4 F( W8 L& ?/ b
, s8 p( m( O# n请各位大师帮帮忙!小妹感激不尽! |
zan
|