- 在线时间
- 0 小时
- 最后登录
- 2013-8-1
- 注册时间
- 2013-8-1
- 听众数
- 0
- 收听数
- 0
- 能力
- 0 分
- 体力
- 3 点
- 威望
- 0 点
- 阅读权限
- 10
- 积分
- 2
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1
- 主题
- 1
- 精华
- 0
- 分享
- 0
- 好友
- 1
升级   40% 该用户从未签到 - 自我介绍
- 在校学生
 |
我要写个function来检验末年是否是闰年。开头这样:闰年这里的定义是:( D+ b6 ?/ T( t, F( y& I8 r. B T
如果那一年可以整除4(比如2004),2月就有29天) f. h7 f. D) h. L& }
如果那一年不能整除100
4 ?9 }0 }! I1 f( O7 ^# e如果那一年可以整除400
5 I. S( |5 ?) G& t- b+ k
3 ~/ a$ T" P) n1 z8 A2 W- c4 c8 [如果x<1,这个function就要return “error”。我不大懂这个条件的意思,可否请大师解释下?
2 c4 n9 L ?7 }: m
9 \: W( M" P3 g# q' m3 X# i我写的function是这样的:- leapyear<- function(dates, years_to_add)
9 _; q* }' z# T, x; ]: [) b; q- Y - {+ ~, m4 t) Y/ B0 @7 q3 v
- if(!require(lubridate)) stop("install lubridate")
2 M4 N0 j: o& l: P9 Q# ~- W9 { - if(years_to_add > floor(years_to_add)) stop("error"). S$ k+ y' _' g4 t$ U
- 1 n5 P2 M6 D9 ^! h3 s6 h
- new <- dates + years(years_to_add)! {7 T# }# L1 B5 |. h( @0 }9 _
- new[: v) J7 I, s\" `/ O/ _: f$ z0 p
- leap_year(year(dates)) &
; [( b; Y% i: C9 j5 }9 h - !leap_year(year(dates) + years_to_add) & ; }6 \& k( u9 R0 ^. m
- month(dates) == 2 & * A: B$ F8 W. U
- day(dates) == 29
( A5 Q8 w R: G - ] <- NA
# ~8 m; p/ J9 S9 Q - new_dates' y7 t- H. N8 J, c
- }: W7 U7 c& Z% p, [9 o
* Z* o. [ s0 l2 y) w, [- dates <- ymd(c("2004-2-28", "2004-2-29"))
复制代码 不知道对不对,但是检验的时候显示ymd找不到。。。。
[/ P& |9 |9 x, |! B( q x( [& E9 }7 W8 S+ ]: }
请各位大师帮帮忙!小妹感激不尽! |
zan
|