- 在线时间
- 0 小时
- 最后登录
- 2013-8-1
- 注册时间
- 2013-8-1
- 听众数
- 0
- 收听数
- 0
- 能力
- 0 分
- 体力
- 3 点
- 威望
- 0 点
- 阅读权限
- 10
- 积分
- 2
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1
- 主题
- 1
- 精华
- 0
- 分享
- 0
- 好友
- 1
升级   40% 该用户从未签到 - 自我介绍
- 在校学生
 |
我要写个function来检验末年是否是闰年。开头这样:闰年这里的定义是:, B' K6 f3 n$ q8 ?, x& e6 Z* o
如果那一年可以整除4(比如2004),2月就有29天( E& G) c% G" g4 L1 a, @/ {' m
如果那一年不能整除100, L% o c/ ^0 s$ N; S2 y
如果那一年可以整除4005 A1 `* q7 ^/ j6 E1 l
+ U+ d6 f) H ?/ Y2 g0 \' z% {+ t如果x<1,这个function就要return “error”。我不大懂这个条件的意思,可否请大师解释下?
2 x) @0 d- ~2 j" y# F( {
* P4 |; ^! m: n) Y1 e& _我写的function是这样的:- leapyear<- function(dates, years_to_add)
# ~- @) H6 k- B/ e\" j# o - {
7 b3 z3 z& s! V\" |3 s! w - if(!require(lubridate)) stop("install lubridate")% l; i# U3 p6 C# i\" T @
- if(years_to_add > floor(years_to_add)) stop("error")
/ S\" E% [0 F% W; N - ' h1 d% C$ @1 ]5 r: @9 s* d4 f
- new <- dates + years(years_to_add)& q1 Q$ Y\" t7 f) ^% A
- new[! z; G$ A& l, q
- leap_year(year(dates)) &
/ P\" W* z. s( s+ U& s - !leap_year(year(dates) + years_to_add) &
% L1 w( n\" Z0 x8 s3 M - month(dates) == 2 &
, \3 p: {8 @9 l0 g, f - day(dates) == 29
' g+ D$ n8 F1 F8 w$ Q/ d/ A\" M - ] <- NA
4 e& J' e+ A4 _) y9 N& S5 \( h+ n; z - new_dates, F! T8 [: M( A& |7 T3 b( `# L
- }
# w6 F/ |& Q* N( n0 N9 f - \" A- e; ^4 U; \( ?; [# _
- dates <- ymd(c("2004-2-28", "2004-2-29"))
复制代码 不知道对不对,但是检验的时候显示ymd找不到。。。。
+ p$ k7 l/ M3 d1 W2 O- O: M9 j! W, Q, ~) |" J
请各位大师帮帮忙!小妹感激不尽! |
zan
|