- 在线时间
- 0 小时
- 最后登录
- 2013-8-1
- 注册时间
- 2013-8-1
- 听众数
- 0
- 收听数
- 0
- 能力
- 0 分
- 体力
- 3 点
- 威望
- 0 点
- 阅读权限
- 10
- 积分
- 2
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1
- 主题
- 1
- 精华
- 0
- 分享
- 0
- 好友
- 1
升级   40% 该用户从未签到 - 自我介绍
- 在校学生
 |
我要写个function来检验末年是否是闰年。开头这样:闰年这里的定义是:2 {% N! B! i& M5 h/ H) y. R) l
如果那一年可以整除4(比如2004),2月就有29天" h+ J9 h+ K. J8 b9 t
如果那一年不能整除100 p f; D# O4 H. T+ Z2 B
如果那一年可以整除400
$ z, X6 |) ?, E7 n
1 R2 H/ I" Q. L8 ]/ e# V如果x<1,这个function就要return “error”。我不大懂这个条件的意思,可否请大师解释下?# ^& g$ G* b+ w6 n5 V
- G: j; |7 q% x' |. B [ i$ G我写的function是这样的:- leapyear<- function(dates, years_to_add)& _: |+ a$ x9 M+ A9 b0 ~* D+ o
- {
$ z6 [8 P\" N3 f i3 ~. F- J - if(!require(lubridate)) stop("install lubridate")
\" j! {$ p\" Y: L& }2 w2 ~7 X - if(years_to_add > floor(years_to_add)) stop("error")
$ q1 l) Z2 P# \4 w' |$ L: i3 } - \" Z+ a1 D* E' M1 H8 b
- new <- dates + years(years_to_add)
. O$ F7 ~2 U! f - new[2 J% E+ u\" x\" [8 \, V$ Y% B
- leap_year(year(dates)) & & E( b {. o8 Y p+ _! A5 Z
- !leap_year(year(dates) + years_to_add) & + ?3 Y7 g4 \+ L; u6 U1 [
- month(dates) == 2 & ( i( ~ n/ G3 U6 F1 Y! d0 l |: I) g
- day(dates) == 29
, j! J- X1 Z3 p0 t: C - ] <- NA
$ L; {4 T2 U* c( V; f$ Y - new_dates4 e; U r3 G\" l: }' [4 K$ k8 T
- }
1 Q\" U$ @+ r! d2 U: g
M6 V! r( G5 x9 l+ _' a- dates <- ymd(c("2004-2-28", "2004-2-29"))
复制代码 不知道对不对,但是检验的时候显示ymd找不到。。。。' u# f/ c0 X0 b9 h) h
. u' x0 ?0 U$ {) z; Y/ Q" G请各位大师帮帮忙!小妹感激不尽! |
zan
|