- 在线时间
- 0 小时
- 最后登录
- 2013-8-1
- 注册时间
- 2013-8-1
- 听众数
- 0
- 收听数
- 0
- 能力
- 0 分
- 体力
- 3 点
- 威望
- 0 点
- 阅读权限
- 10
- 积分
- 2
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1
- 主题
- 1
- 精华
- 0
- 分享
- 0
- 好友
- 1
升级   40% 该用户从未签到 - 自我介绍
- 在校学生
 |
我要写个function来检验末年是否是闰年。开头这样:闰年这里的定义是:
3 l! b7 q* T, D8 U% m9 _; `/ C% w如果那一年可以整除4(比如2004),2月就有29天8 i! R. [: c' k( `- W8 ]2 p
如果那一年不能整除100" L" ^% F O. q. @$ Z0 ~
如果那一年可以整除400
3 v" {* b8 v' Y$ s/ [* v# p) @( A" [" B. t7 w
如果x<1,这个function就要return “error”。我不大懂这个条件的意思,可否请大师解释下?
, g) }+ y8 K% l: ~% S* ~2 t, V2 O* v I9 K F& J
我写的function是这样的:- leapyear<- function(dates, years_to_add)
; p6 V$ B0 C7 I% v - {
+ C8 D+ |( p) Z5 p+ w - if(!require(lubridate)) stop("install lubridate")
! q$ E, c1 s. ^- y) E - if(years_to_add > floor(years_to_add)) stop("error")
; e% F8 y/ |5 ^9 \! ^5 t/ |' t - / t9 a+ Y+ v8 F3 I# R+ ^
- new <- dates + years(years_to_add)
! z* l) ^3 e\" R; C+ U z' X5 N - new[2 [. U: B9 B& y) }$ c! {
- leap_year(year(dates)) & / P2 \4 B+ y( V\" R. k& C! |
- !leap_year(year(dates) + years_to_add) & 8 p# z% u& P* B# Z7 t. o0 d
- month(dates) == 2 &
# v. O; c8 Y\" {7 A3 u4 X - day(dates) == 29
, R\" q! C9 ]4 W6 t - ] <- NA
4 b( m' F: X/ a3 L3 [' z - new_dates
\" [- N, m5 P/ k! U+ }. d - }+ Z( \2 E- F ^7 [
# D3 T# A1 j' K- L3 P- dates <- ymd(c("2004-2-28", "2004-2-29"))
复制代码 不知道对不对,但是检验的时候显示ymd找不到。。。。1 }1 }% ]4 A! q7 Y* X! I
, S9 I; Z; }, H) B4 W' ]- H
请各位大师帮帮忙!小妹感激不尽! |
zan
|