- 在线时间
- 0 小时
- 最后登录
- 2013-8-1
- 注册时间
- 2013-8-1
- 听众数
- 0
- 收听数
- 0
- 能力
- 0 分
- 体力
- 3 点
- 威望
- 0 点
- 阅读权限
- 10
- 积分
- 2
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1
- 主题
- 1
- 精华
- 0
- 分享
- 0
- 好友
- 1
升级   40% 该用户从未签到 - 自我介绍
- 在校学生
 |
我要写个function来检验末年是否是闰年。开头这样:闰年这里的定义是:
* n E# F) f- k. t t1 X如果那一年可以整除4(比如2004),2月就有29天: {' S1 s0 Z* D
如果那一年不能整除100$ ]! i0 M8 D: a
如果那一年可以整除400
/ r1 k% @1 C4 Q1 j, t4 t4 |/ h1 y; a4 i! ]- @2 M
如果x<1,这个function就要return “error”。我不大懂这个条件的意思,可否请大师解释下?
; s) S& M. ? D- ]8 `- G% |6 _8 T! H: {
我写的function是这样的:- leapyear<- function(dates, years_to_add)5 y6 a% x' c# m) T* S. J5 X& u$ Q
- {9 C4 S2 r6 d R: c( ]) H
- if(!require(lubridate)) stop("install lubridate")
- P& Q. i0 i- c5 g2 j8 [ - if(years_to_add > floor(years_to_add)) stop("error")
+ O- m5 S! S4 F) M - 1 A4 R! J0 ^# L\" L, V( }' Y
- new <- dates + years(years_to_add)$ P' Y% z6 [: F5 c
- new[& x8 \; x. ?+ O# {& g z2 X. F
- leap_year(year(dates)) & . x4 R& E- c7 e& }
- !leap_year(year(dates) + years_to_add) & - w* ]. ?' O' m0 z$ q8 }2 Q
- month(dates) == 2 &
- M7 V6 {1 F% i5 O+ E - day(dates) == 29
\" T# O, e\" A8 h: e# r1 O7 H - ] <- NA% v* i! ]3 Y\" q% T
- new_dates
9 U# ~) ?4 i, }6 P! T% j - }
% ]0 x0 _& P/ w$ V6 @# o+ e
6 S- T' |* g) }- dates <- ymd(c("2004-2-28", "2004-2-29"))
复制代码 不知道对不对,但是检验的时候显示ymd找不到。。。。
8 S% T# Q9 e! i9 m. B" S @
9 m, Z" U$ X; k. A9 X请各位大师帮帮忙!小妹感激不尽! |
zan
|