- 在线时间
- 0 小时
- 最后登录
- 2013-8-1
- 注册时间
- 2013-8-1
- 听众数
- 0
- 收听数
- 0
- 能力
- 0 分
- 体力
- 3 点
- 威望
- 0 点
- 阅读权限
- 10
- 积分
- 2
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1
- 主题
- 1
- 精华
- 0
- 分享
- 0
- 好友
- 1
升级   40% 该用户从未签到 - 自我介绍
- 在校学生
 |
我要写个function来检验末年是否是闰年。开头这样:闰年这里的定义是:
# ], Y7 f9 i7 t# q如果那一年可以整除4(比如2004),2月就有29天9 f6 P' ~) |: p, g! s
如果那一年不能整除100/ c0 A: H* e+ O: r) I5 H
如果那一年可以整除400# {9 a, k+ x- F
% ?4 a- Q3 b9 G% m
如果x<1,这个function就要return “error”。我不大懂这个条件的意思,可否请大师解释下?
( ]! z1 [! V. P! p# e( K
) u# \* W* f+ H3 E" P) F我写的function是这样的:- leapyear<- function(dates, years_to_add)
! \( S& r c5 Y, g2 `. b - {
' e; w/ D- _% S' W8 B* Q - if(!require(lubridate)) stop("install lubridate")$ T: }4 p, X+ W' a, ]* l2 T
- if(years_to_add > floor(years_to_add)) stop("error")+ t9 J6 {% d* W9 y7 J
- & s) D; M) G7 y( E3 V
- new <- dates + years(years_to_add)( k) x' D7 [6 y7 z% D/ W# f
- new[7 L: V! f& K, c$ T% U) f5 i
- leap_year(year(dates)) & 5 P$ H4 H/ R. A/ H. e
- !leap_year(year(dates) + years_to_add) & ( s: s8 }/ [0 M3 B9 y
- month(dates) == 2 &
B& ~* i* H' [\" [9 q6 _ - day(dates) == 29
* c8 C( ? @3 u+ k - ] <- NA
' l1 H; L K' E4 [9 A - new_dates& {& S! v4 N4 v' K: J' ~
- }
# @0 Q* g. t. W, [/ L& N( L$ V+ D! [ - & @; B1 y s: D
- dates <- ymd(c("2004-2-28", "2004-2-29"))
复制代码 不知道对不对,但是检验的时候显示ymd找不到。。。。$ k+ E) \7 u1 s: V; T
0 O- X7 O4 ~3 G- Q
请各位大师帮帮忙!小妹感激不尽! |
zan
|