R语言包_lubridate

翻译 2015年09月05日 10:10:18

Parsing dates and times

install.packages("lubridate")
library(lubridate)
ymd("20150904")
ymd("2015-9-4")
ymd("2015/9/04")
dmy("04/09/15")
ymd_hms("2011-06-04 12:00:00")
x = ymd_hms("2011-08-10 14:05:08", tz = "Pacific/Auckland")
class(x)

Setting and Extracting information

second(x)
minute(x)
hour(x)
day(x)
month(x)
year(x)
wday(x,label = T)
yday(x)
week(x)

Time Zones

#奥克兰9点电话会议,求芝加哥几点开
meeting <- ymd_hms("2011-07-01 09:00:00", tz = "Pacific/Auckland")
with_tz(meeting, "America/Chicago")

#芝加哥如果误认为9点开,那么奥克兰接到电话的时间
mistake <- force_tz(meeting, "America/Chicago")
with_tz(mistake, "Pacific/Auckland")

Time Intervals

arrive <- ymd_hms("2011-06-04 12:00:00", tz = "Pacific/Auckland")
leave <- ymd_hms("2011-08-10 14:00:00", tz = "Pacific/Auckland")
auckland <- interval(arrive, leave)
auckland <- arrive %--% leave
auckland
jsm <- interval(ymd(20110720, tz = "Pacific/Auckland"), ymd(20110831, tz = "Pacific/Auckland"))
#if trival overlap
auckland
jsm
lubridate::setdiff(auckland, jsm)

Other functions that work with intervals include int_start, int_end, int_flip, int_shift, int_aligns, union, intersect, setdiff, and %within%.

Arithmetic with date times

两种类型的时间数据:
- period
- duration

需要两种类型的时间数据的原因是:时间并不是精准的。
例如闰年366天。period为366,但是duration为365.

# period
minutes(2)
years(1)
# duration
dminutes(2)
dyears(1)   #always 365 days
# regular year
leap_year(2011)
leap_year(2000)

ymd(20110101) + dyears(1)
## [1] "2012-01-01 UTC"
ymd(20110101) + years(1)
## [1] "2012-01-01 UTC"
leap_year(2012)  ## leap year
## [1] TRUE
ymd(20120101) + dyears(1)
## [1] "2012-12-31 UTC"
ymd(20120101) + years(1)
## [1] "2013-01-01 UTC"

关于时间取整,取模的其他计算

meeting <- ymd_hms("2011-07-01 09:00:00", tz = "Pacific/Auckland")
meetings <- meeting + weeks(0:5)
jsm <- interval(ymd(20110720, tz = "Pacific/Auckland"), ymd(20110831, tz = "Pacific/Auckland"))
meeting
meetings
jsm
meetings %within% jsm

arrive <- ymd_hms("2011-06-04 12:00:00", tz = "Pacific/Auckland")
leave <- ymd_hms("2011-08-10 14:00:00", tz = "Pacific/Auckland")
auckland <- interval(arrive, leave)
auckland
#days i stay
auckland/edays(1)
#minutes i stay
auckland/eminutes(1)

auckland%/%months(1)
auckland%%months(1)
as.period(auckland%%months(1))
as.period(auckland)

Others

jan31 <- ymd("2013-01-31")
jan31 + months(0:11)

floor_date(jan31, "month") + months(0:11) + days(31)

jan31 %m+% months(0:11)

Vectorization

last_day <- function(date) {
    ceiling_date(date, "month") - days(1)
}
last_day(jan31)

参考资料

lubridate

R包实践:lubridate 处理时间数据

人生有一道难题,那就是如何使一寸光阴等于一寸生命。在数据分析中也有一道难题,那就是如何自如的操作时间数据。R语言的基础包中提供了两种类型的时间数据,一类是Date日期数据,它不包括时间和时区信息,另一...
  • u014032673
  • u014032673
  • 2014-09-23 16:15:14
  • 1936

R语言学习之包的加载和日期包的使用

关于包 包是一系列R函数和数据集的集合,库(library) 是电脑上的文件夹,而包就存储在文件夹的文件中 装了Rstdio 之后,默认的lattice 包已经被默认安装了 加载包 可以用librar...
  • qq_31214097
  • qq_31214097
  • 2015-10-29 21:13:20
  • 1582

lubridate包:处理时间数据

lubridate包 处理日期时间的包 简要描述:Make Dealing with Dates a Little Easier (1)ymd,mdy,ymd_hms等组合函数 Identi...
  • zyunnketsu
  • zyunnketsu
  • 2017-09-20 10:02:59
  • 266

R语言 第三方软件包的下载及安装

下载地址:https://cran.r-project.org/web/packages/包名/,如https://cran.r-project.org/web/packages/RODBC/,这个是...
  • orchidzouqr
  • orchidzouqr
  • 2016-12-11 09:25:42
  • 11911

R 软件包及其依赖包下载

这是我用python 写的一个工具,主要是下载R包以及依赖包,现在R IDE中已经集成了这个功能,而我又开发这个主要作用是一台电脑有网络,另外一台没有网络,我需要在有网络的电脑上下载R包,传到没网络的...
  • zj910092147
  • zj910092147
  • 2016-07-31 15:30:41
  • 2811

R 语言包安装问题---downloaded length != reported length

R 语言安装工具包 出现 downloaded lengtg != reported length情况
  • huruzun
  • huruzun
  • 2016-11-18 20:07:51
  • 1025

R语言包压缩文件

  • 2013年10月28日 08:50
  • 38.35MB
  • 下载

常用R语言包介绍

r与python差异比较大的一个地方就是,python的机器学习算法集中程度比较高,比如sklearn,就集成了很多的算法,而R语言更多时候需要一个包一个包去了解,比较费时费力,对于python转过来...
  • slade_sha
  • slade_sha
  • 2017-04-23 08:44:40
  • 2761

R语言培训-第二期

内容概况 •            重命名 •            类型转换 •            缺失值处理 •            创建新变量 删除变量 •         ...
  • u011454283
  • u011454283
  • 2016-09-09 13:17:53
  • 222

机器学习笔记c8主成分分析(日期格式转换,cast)

主成分分析原理读取数据library('ggplot2')# First code snippet prices
  • sadfasdgaaaasdfa
  • sadfasdgaaaasdfa
  • 2015-04-14 19:15:18
  • 539
收藏助手
不良信息举报
您举报文章:R语言包_lubridate
举报原因:
原因补充:

(最多只允许输入30个字)