闰年这里的定义是: ; o$ _% w! Y+ ?5 w如果那一年可以整除4(比如2004),2月就有29天- v. y/ G) R3 p' g D P/ B# {& N
如果那一年不能整除100 5 A6 M; y2 [' k W2 ^如果那一年可以整除4006 a1 m t4 k1 N: f; Z& n1 T* v
9 Z" U- n/ c' X3 Y/ e
如果x<1,这个function就要return “error”。我不大懂这个条件的意思,可否请大师解释下?: W2 a$ z( I3 m6 z; [' o( i
+ w. k3 k4 j6 f; T我写的function是这样的:
leapyear<- function(dates, years_to_add)+ V1 D6 Z& M7 @/ {7 |) Y, \9 o
{% |+ k\" ^: m7 o8 s, j* {
if(!require(lubridate)) stop("install lubridate")2 O2 P# T f' a/ Y
if(years_to_add > floor(years_to_add)) stop("error") ( R& k4 E\" q; C% u. N
- C* Q8 I8 T, q
new <- dates + years(years_to_add)3 h& W6 y$ x$ a; i2 H- f. H
new[ ' k1 h4 m! q+ C9 n7 I8 h& C# G; A
leap_year(year(dates)) & ( w. c+ l! }( S. P\" k
!leap_year(year(dates) + years_to_add) & . h: N+ B d; j2 T8 w% n- u
month(dates) == 2 & 0 i* f3 ~3 x, X, J4 J+ a0 p7 H I! A0 `! G
day(dates) == 29 # j( D0 b3 _; K. t! j/ V- c
] <- NA K' k! g9 k& o# B
new_dates ) k; a7 D; v% [4 d) S
} ( G8 \5 R6 }& t
# z; ?! _- z\" a; L; y' s
dates <- ymd(c("2004-2-28", "2004-2-29"))
复制代码
不知道对不对,但是检验的时候显示ymd找不到。。。。 5 G# o, w8 t! a$ n! s: f+ d l& g& n9 j$ D
请各位大师帮帮忙!小妹感激不尽!