- 在线时间
- 0 小时
- 最后登录
- 2013-8-1
- 注册时间
- 2013-8-1
- 听众数
- 0
- 收听数
- 0
- 能力
- 0 分
- 体力
- 3 点
- 威望
- 0 点
- 阅读权限
- 10
- 积分
- 2
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1
- 主题
- 1
- 精华
- 0
- 分享
- 0
- 好友
- 1
升级   40% 该用户从未签到 - 自我介绍
- 在校学生
 |
我要写个function来检验末年是否是闰年。开头这样:闰年这里的定义是:4 \8 s+ H* [* W! A7 v- S
如果那一年可以整除4(比如2004),2月就有29天
# V8 r0 [1 ?; Z* l$ S+ \如果那一年不能整除1000 V) a$ T) Q# [! H
如果那一年可以整除400
7 x3 U9 P4 C a: I4 ~* V P( ~9 a- y# s# ~8 |4 q; ~1 d2 |0 E. K% x
如果x<1,这个function就要return “error”。我不大懂这个条件的意思,可否请大师解释下?" P) \+ ]% _5 K: S
& g* G1 p9 H9 n+ C9 D) H$ m5 A
我写的function是这样的:- leapyear<- function(dates, years_to_add)
/ A* P) c* A. ^, D' d - {; ]\" v' L' W* f: y' H9 I& A
- if(!require(lubridate)) stop("install lubridate")
1 m% N* E( u! x5 H/ _2 r& n$ }8 p: f - if(years_to_add > floor(years_to_add)) stop("error")3 m0 @5 U Q! q! o
-
: x4 v0 \* K7 v! B2 c# X8 s- d - new <- dates + years(years_to_add)& n. A* v! f3 _
- new[
; r8 E) \, z; D. v+ g. W1 c) u - leap_year(year(dates)) &
- Y3 i, H4 F/ Q6 m. s+ J8 u - !leap_year(year(dates) + years_to_add) &
# L! {- a) e. f4 y( i - month(dates) == 2 &
& Y5 n+ o; o( ?; u - day(dates) == 29! e$ o9 i8 i i4 ^& a0 U! g# Y\" S _& E
- ] <- NA) E, C6 M6 f+ L: Z7 \( F
- new_dates$ V3 [! p- N! B3 k1 m
- }5 v2 V! j; U, T. k1 L
% M1 @, x( e, h. Q2 X; v- dates <- ymd(c("2004-2-28", "2004-2-29"))
复制代码 不知道对不对,但是检验的时候显示ymd找不到。。。。
9 C6 I* [& ?2 G4 {' S& E$ C9 P; V' Q! c
请各位大师帮帮忙!小妹感激不尽! |
zan
|