在线时间 0 小时 最后登录 2013-8-1 注册时间 2013-8-1 听众数 0 收听数 0 能力 0 分 体力 3 点 威望 0 点 阅读权限 10 积分 2 相册 0 日志 0 记录 0 帖子 1 主题 1 精华 0 分享 0 好友 1
升级 40%
该用户从未签到
自我介绍 在校学生
我要写个function来检验末年是否是闰年。开头这样:闰年这里的定义是:, z: Q: o. |( e9 J% q6 ~% L
如果那一年可以整除4(比如2004),2月就有29天 O, X! h0 p" |0 W" W" n$ D: g: y
如果那一年不能整除100
- f) L8 I/ q. `3 S9 N5 |( y h 如果那一年可以整除400
5 z) N" b6 z$ v. p4 j1 K 8 h5 J3 E e! e. c
如果x<1,这个function就要return “error”。我不大懂这个条件的意思,可否请大师解释下?6 w4 E4 E1 O p. Z7 f5 z
$ ?7 B. y3 O4 P) s# J 我写的function是这样的:leapyear<- function(dates, years_to_add)
0 f: h& V5 k) h/ Q5 p1 D7 m {2 I8 k% A4 I% s( n% }) f @
if(!require(lubridate)) stop("install lubridate")
: M8 r\" P7 [\" z5 `7 X if(years_to_add > floor(years_to_add)) stop("error"), j. E$ c/ R, z [) q. l6 u
2 a. D( G* E6 ?5 D Q- N
new <- dates + years(years_to_add)# q7 D6 n2 |9 M- W }3 J6 H
new[
/ ^; u8 k) M# J. r2 L& h leap_year(year(dates)) &
% b% r* e\" T& i !leap_year(year(dates) + years_to_add) & # G1 X7 q! m+ ?
month(dates) == 2 &
+ e( N3 F: ^8 U9 i/ j W day(dates) == 29. {; o1 X: B/ A3 Z
] <- NA' W0 p' V% B' M; \
new_dates/ N) c, J/ A4 q( ~$ N% X
}# h: w7 S& ?/ s7 W# A2 F9 F( R$ l2 s
+ \! l' D4 i- b/ p
dates <- ymd(c("2004-2-28", "2004-2-29")) 复制代码 不知道对不对,但是检验的时候显示ymd找不到。。。。! B: I. k4 `" d/ k2 o
+ A; k- D/ R, h
请各位大师帮帮忙!小妹感激不尽!
zan