99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
2018-10-26 閱讀量: 1088
R語言時(shí)間數(shù)據(jù)處理lubridate包

在我們處理一些時(shí)間序列數(shù)據(jù)時(shí),經(jīng)常會(huì)碰到各種時(shí)間數(shù)據(jù),比如“2016-03-03”。很多時(shí)候我們需要提取出其中的年、月、日甚至是小時(shí)、分、秒,從而可以方便的進(jìn)行比較、篩選等操作。如果我們自己去實(shí)現(xiàn)上述功能,可能會(huì)寫一個(gè)字符串的提取函數(shù),來確定相應(yīng)的時(shí)間單位值。但是,由于時(shí)間數(shù)據(jù)格式多樣,總會(huì)碰到一些問題。使用lubridate這個(gè)包功能簡單但方便快捷。

install.packages('lubridate')
library(lubridate)

無論年月日之間以什么間隔符分隔,lubridate函數(shù)總能找到正確的值且返回的是數(shù)字值

> year("2016-10-24")
[1] 2016
>year("2016/10/24")
[1] 2016
> month("2016/10/24")
[1] 10
>day("2016/10/24")
[1] 24

處理不同排列順序的年月日數(shù)據(jù)

> ymd("20110604")
[1] "2011-06-04"
> mdy("06-04-2011")
[1] "2011-06-04"
> dmy("04/06/2011")
[1] "2011-06-04"

時(shí)間數(shù)據(jù)運(yùn)算

> minutes(2) ## period
[1] "2M 0S"
> dminutes(2) ## duration
[1] "120s (~2 minutes)"

判斷是否閏年

leap_year(2011)

#因?yàn)閐years(1)表示的365天,所以從2012-01-01一個(gè)dyears(1),返回值是2012-12-31,而years(1)則是一個(gè)整年的概念,無論是閏年還是非閏年,加上一個(gè)years(1)都能返回下一年的相同月日的那一天,在這個(gè)例子里就反悔了2013-01-01。

定義時(shí)間區(qū)間:兩個(gè)時(shí)間段是由--相連的,UTC表示時(shí)區(qū)

> arrive<-"2011-08-10 14:00:00"
> leave<-"2011-08-10 14:00:05"
> int<-interval(arrive,leave)
[1] 2011-08-10 14:00:00 UTC--2011-08-10 14:00:05 UTC

判斷一個(gè)時(shí)間區(qū)間是否在另一個(gè)時(shí)間區(qū)間里面

> arrive1<-"2011-08-10 13:50:00"
> leave1<-"2011-08-10 14:00:09"
> int1<-interval(arrive1,leave1)
> int1 %within% int
[1] FALSE
> int %within% int1
[1] TRUE

判斷一個(gè)時(shí)間區(qū)間是否在另一個(gè)時(shí)間區(qū)間里面

> as.period(int1)
[1] "10M 9S"
> int1 / dminutes(1)
[1] 10.15

103.6940
1
關(guān)注作者
收藏
評論(0)

發(fā)表評論

暫無數(shù)據(jù)
推薦帖子