- 在线时间
- 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, J3 [5 f/ { Z
如果那一年可以整除4(比如2004),2月就有29天; z7 \; D, T5 r7 |. e
如果那一年不能整除100
: }6 ^1 t" t% ~# b4 g% Q# t如果那一年可以整除400
) R" t9 y7 r/ D; I) E9 q
8 n5 ]- `% m" U' r5 Y如果x<1,这个function就要return “error”。我不大懂这个条件的意思,可否请大师解释下?
! w9 V9 O1 o( W* [5 ~% m. t
( Q* j- A/ K% K3 Z5 E我写的function是这样的:- leapyear<- function(dates, years_to_add)\" q2 t) i$ T: r2 A. G5 C5 E9 L' p
- {
\" T( u8 c$ T* m7 a0 k( a1 q - if(!require(lubridate)) stop("install lubridate")
/ {+ ^( g1 i) U7 }' ^' `* ~7 `) u1 V i - if(years_to_add > floor(years_to_add)) stop("error")
) U1 X+ p3 X5 { k7 B - 6 ~- K8 E- `% N& X O [' J
- new <- dates + years(years_to_add)
9 n# K. o, U- t- ~8 f0 g( y* B\" O - new[
$ T; ]4 d) T0 Y3 L$ T: v7 z - leap_year(year(dates)) &
) A\" n- D& P2 S* h2 J - !leap_year(year(dates) + years_to_add) & 8 \) D+ g6 ~7 t( r3 r
- month(dates) == 2 &
/ X V/ F\" z/ h( t6 O - day(dates) == 29; j4 U+ S0 s- V
- ] <- NA8 r$ ?2 [4 m) K1 ^/ D0 S0 j
- new_dates# d4 A& P! B) M3 p
- }& A/ {4 u1 H2 Z( X5 |. L
- 9 _' z& J k) W9 a' p/ A v
- dates <- ymd(c("2004-2-28", "2004-2-29"))
复制代码 不知道对不对,但是检验的时候显示ymd找不到。。。。
( \( }6 t. r M9 h0 X
6 h6 U) T( x; ~6 i请各位大师帮帮忙!小妹感激不尽! |
zan
|