R語言日期的表示和運(yùn)算(詳細(xì)總結(jié))_第1頁
R語言日期的表示和運(yùn)算(詳細(xì)總結(jié))_第2頁
R語言日期的表示和運(yùn)算(詳細(xì)總結(jié))_第3頁
R語言日期的表示和運(yùn)算(詳細(xì)總結(jié))_第4頁
R語言日期的表示和運(yùn)算(詳細(xì)總結(jié))_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、R語言日期的表示和運(yùn)算(詳細(xì)總結(jié)) 1、取出當(dāng)前日期Sys.Date()1 "2014-10-29"date() #注意:這種方法返回的是字符串類型1 "Wed Oct 29 20:36:07 2014"2、在R中日期實(shí)際是double類型,是從1970年1月1日以來的天數(shù)typeof(Sys.Date()1 "double"3、轉(zhuǎn)換為日期用as.Date()可以將一個(gè)字符串轉(zhuǎn)換為日期值,默認(rèn)格式是yyyy-mm-dd。as.Date("2007-02-01") #得到"2007-02-01",

2、顯示為字符串,但實(shí)際是用double存儲(chǔ)的as.double(as.Date("1970-01-01") #結(jié)果為0,是從1970年1月1日以來的天數(shù)。可以把定制的日期字符串轉(zhuǎn)換為日期型as.Date("2007年2月1日", "%Y年%m月%d日") 1 "2007-02-01"格式意義%Y年份,以四位數(shù)字表示,2007%m月份,以數(shù)字形式表示,從01到12%d月份中當(dāng)?shù)奶鞌?shù),從01到31%b月份,縮寫,F(xiàn)eb%B月份,完整的月份名,指英文,F(xiàn)ebruary%y年份,以二位數(shù)字表示,074、把日期值輸出為字符串t

3、oday <- Sys.Date()format(today, "%Y年%m月%d日")1 "2014年10月29日"5、計(jì)算日期差由于日期內(nèi)部是用double存儲(chǔ)的天數(shù),所以是可以相減的。today <- Sys.Date()gtd <- as.Date("2011-07-01") today - gtdTime difference of 1216 days 用difftime()函數(shù)可以計(jì)算相關(guān)的秒數(shù)、分鐘數(shù)、小時(shí)數(shù)、天數(shù)、周數(shù)difftime(today, gtd, units="weeks&quo

4、t;) #還可以是“secs”, “mins”, “hours”, “days”Time difference of 173.7143 weeks#日期型數(shù)據(jù)在R中自帶的日期形式為:as.Date();以數(shù)值形式存儲(chǔ);對(duì)于規(guī)則的格式,則不需要用format指定格式;如果輸入的格式不規(guī)則,可以通過format指定的格式讀入;標(biāo)準(zhǔn)格式:年-月-日或者年/月/日;如果不是以上二種格式,則會(huì)提供錯(cuò)誤;as.Date('23-2013-1')錯(cuò)誤于charTo按照Date(x) : 字符串的格式不夠標(biāo)準(zhǔn)明確> as.Date('23-2013-1',format=&

5、#39;%d-%Y-%m')1 "2013-01-23"格式意義%d月份中當(dāng)?shù)奶鞌?shù)%m月份,以數(shù)字形式表示%b月份,縮寫%B月份,完整的月份名,指英文%y年份,以二位數(shù)字表示%Y年份,以四位數(shù)字表示#其它日期相關(guān)函數(shù)weekdays()取日期對(duì)象所處的周幾;months()取日期對(duì)象的月份;quarters()取日期對(duì)象的季度;#POSIX類The POSIXct class stores date/time values as the number of seconds since January 1, 1970, while the POSIXlt class

6、stores them as a list with elements for second, minute, hour, day, month, and year, among others.POSIXct 是以1970年1月1號(hào)開始的以秒進(jìn)行存儲(chǔ),如果是負(fù)數(shù),則是1970年以前;正數(shù)則是1970年以后。POSIXlt 是以列表的形式存儲(chǔ):年、月、日、時(shí)、分、秒;mydate = as.POSIXlt(2005-4-19 7:01:00)names(mydate)默認(rèn)情況下,日期之前是以/或者-進(jìn)行分隔,而時(shí)間則以:進(jìn)行分隔;輸入的標(biāo)準(zhǔn)格式為:日期 時(shí)間(日期與時(shí)間中間有空隔隔開)時(shí)間的標(biāo)準(zhǔn)

7、格式為:時(shí):分 或者 時(shí):分:秒;如果輸入的格式不是標(biāo)準(zhǔn)格式,則同樣需要使用strptime函數(shù),利用format來進(jìn)行指定;#生成案例數(shù)據(jù)Dates <- c("2009-09-28","2010-01-15")Times <- c( "23:12:55", "10:34:02")charvec <- timeDate(paste(Dates, Times)timeDate(charvec)#取系統(tǒng)的時(shí)間Sys.timeDate()#一個(gè)月的第一天timeFirstDayInMonth()#一個(gè)

8、月的最后一天timeLastDayInMonth()#一周當(dāng)中第幾天dayOfWeek()#一年當(dāng)中的第幾天dayOfYear()Sys.Date( ) returns today's date. date() returns the current date and time.# print today's datetoday <-Sys.Date()format(today, format="%B %d %Y")"June 20 2007"# convert date info in format 'mm/dd/yyyy

9、'strDates <- c("01/05/1965", "08/16/1975")dates <- as.Date(strDates, "%m/%d/%Y") # convert dates to character datastrDates <- as.character(dates)-> as.Date('1915-6-16')1 "1915-06-16"> as.Date('1990/02/17')1 "1990-02-17&q

10、uot;> as.Date('1/15/2001',format='%m/%d/%Y')1 "2001-01-15"> as.Date('April 26, 2001',format='%B %d, %Y')1 "2001-04-26"> as.Date('22JUN01',format='%d%b%y') # %y is system-specific; use with caution1 "2001-06-22">

11、; bdays = c(tukey=as.Date('1915-06-16'),fisher=as.Date('1890-02-17'),+ cramer=as.Date('1893-09-25'), kendall=as.Date('1907-09-06')> weekdays(bdays) tukey fisher cramer kendall"Wednesday" "Monday" "Monday" "Friday"> dtimes

12、= c("2002-06-09 12:45:40","2003-01-29 09:30:40",+ "2002-09-04 16:45:40","2002-11-13 20:00:40",+ "2002-07-07 17:30:40")> dtparts = t(as.data.frame(strsplit(dtimes,' ')> s(dtparts) = NULL> thetimes = chron(dates=dtparts,1,times

13、=dtparts,2,+ format=c('y-m-d','h:m:s')> thetimes1 (02-06-09 12:45:40) (03-01-29 09:30:40) (02-09-04 16:45:40)4 (02-11-13 20:00:40) (02-07-07 17:30:40)> dts = c("2005-10-21 18:47:22","2005-12-24 16:39:58",+ "2005-10-28 07:30:05 PDT")> as.POSIXlt(

14、dts)1 "2005-10-21 18:47:22" "2005-12-24 16:39:58" 3 "2005-10-28 07:30:05"> dts = c(1127056501,1104295502,1129233601,1113547501,+ 1119826801,1132519502,1125298801,1113289201)> mydates = dts> class(mydates) = c('POSIXt','POSIXct')> mydates1 &qu

15、ot;2005-09-18 08:15:01 PDT" "2004-12-28 20:45:02 PST"3 "2005-10-13 13:00:01 PDT" "2005-04-14 23:45:01 PDT"5 "2005-06-26 16:00:01 PDT" "2005-11-20 12:45:02 PST"7 "2005-08-29 00:00:01 PDT" "2005-04-12 00:00:01 PDT"> mydate =

16、 strptime('16/Oct/2005:07:51:00',format='%d/%b/%Y:%H:%M:%S')1 "2005-10-16 07:51:00"> ISOdate(2005,10,21,18,47,22,tz="PDT")1 "2005-10-21 18:47:22 PDT"> thedate = ISOdate(2005,10,21,18,47,22,tz="PDT")> format(thedate,'%A, %B %d, %Y %H:%M:%S')1 "Friday, October 21, 2005 18:4

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論