- 在线时间
- 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 @! v, ^' Y- F ~& T
如果那一年可以整除4(比如2004),2月就有29天1 n/ k2 l5 v2 E- @
如果那一年不能整除100( D) ^6 \, D8 `) u) T, U
如果那一年可以整除400# T$ u. A" X! x+ d g0 P
, U# L; b8 I- v$ C6 ^8 A如果x<1,这个function就要return “error”。我不大懂这个条件的意思,可否请大师解释下?+ ^1 x9 V+ q; I4 ^' P1 C# p
9 v+ ~. b, x9 i7 y3 Z我写的function是这样的:- leapyear<- function(dates, years_to_add)0 l9 d4 e4 g1 U7 z7 K
- {% \. }6 a2 z1 W( L. t- u+ d
- if(!require(lubridate)) stop("install lubridate")3 M& D; ^# K3 D& u
- if(years_to_add > floor(years_to_add)) stop("error")& s8 P# K: [5 z4 r6 s, x
- 8 P4 l+ I/ {& C# {$ D5 `8 G5 w8 V
- new <- dates + years(years_to_add)' z: B+ V9 L! a+ i) g
- new[
4 `+ W7 D( O- l$ z - leap_year(year(dates)) & 4 s$ R0 u! c1 N4 J6 D
- !leap_year(year(dates) + years_to_add) & 6 M3 j- W9 B1 e' @& }3 B
- month(dates) == 2 &
9 S\" g# f' A8 ?- W& X - day(dates) == 29
5 u$ v* h4 k# v6 I - ] <- NA3 ]* ^. }' r/ V5 n( O1 F! O
- new_dates
. J, x! @5 \% r& v8 o6 Y# H+ [ - }
; u' Z9 @* w7 V) t# v2 F( D2 k
7 V; ~( E3 Z1 O- dates <- ymd(c("2004-2-28", "2004-2-29"))
复制代码 不知道对不对,但是检验的时候显示ymd找不到。。。。
( h, C$ f1 v" D+ f2 V! |3 z' i
请各位大师帮帮忙!小妹感激不尽! |
zan
|