• Parsing dates and times
  • Setting and Extracting information
  • Time Zones
  • Time Intervals
  • Arithmetic with date times
  • Others
  • Vectorization
  • 参考资料

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% jsmarrive <- 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相关推荐

  1. R语言包在linux上的安装等知识

    有关install.packages()函数的详见:R包 package 的安装(install.packages函数详解) R的包(package)通常有两种: 1 binary package:这 ...

  2. 在Linux中安装R语言包,遇到无法验证下列签名的错误

    R语言包的安装方式如下 Ubuntu自带的APT包管理器中的R安装包总是落后于标准版,因此需要添加新的镜像源把APT包管理中的R安装包更新到最新版. 请登录Linux系统,打开一个终端,然后执行下面命 ...

  3. 安装低版本的R语言、和自行下载安装各个版本的R语言包、以及多环境运行R

    1. 下载并安装最新的R版本软件,以国内的清华的镜像为例(国内镜像速度快) https://mirrors.tuna.tsinghua.edu.cn/CRAN/ 2. 官网上如何下载老版本或低版本(旧 ...

  4. python调用r语言加载包错误_Python中调用R语言包指南.docx

    Python中调用R语言包指南R语言是非常强大的做统计分析和建模方面的开源软件,它有非常丰富的统计软件包,做统计可以说只有你想不到的,没有R办不到的.Python又是当下最流行的编程软件之一,Pyth ...

  5. r语言 面板数据回归_工具方法 | “名牌包”:面板、时间序列模型常用R语言包...

    计量经济学是数学.统计技术和经济分析的综合,即运用数学.统计方法和相关经济理论,通过计量模型来揭示经济数量关系和规律.R语言包,已经实现了现代计量经济学的很多统计分析功能,下面从面板数据模型和时间序列 ...

  6. r语言remarkdown展示图_使用R语言包circlize可视化展示blast双序列比对结果

    circlize这个包还挺强大的,R语言里用来画圈图还挺方便的. 今天这篇文章记录用circlize这个包画圈图展示blast双序列比对结果的代码 植物线粒体基因组类的文章通常会分析细胞器基因组间基因 ...

  7. r语言和metawin_Windows下使用Rtools编译R语言包

    使用devtools安装github中的R源代码时,经常会出各种错误,索性搜了一下怎么在Windows下直接打包,网上的资料也是参差不齐,以下是自己验证通过的. 一.下载Rtools 根据自己安装的R ...

  8. R语言包安装方法,及优质包推荐

    R语言,之所以能成为统计学的"当红炸子鸡",因为它内置了海量统计函数,使用者可以利用其对数据进行快速的交互分析,在数据分析界是当之无愧的"瑞士军刀". 因此,通 ...

  9. java 调用r语言包传参数_Java与R语言的配置,调用

    我是最近才接触到了R语言,所以用起来有很多的问题,之前只是想单纯想用java调用到R语言中的一些东西,没有想到这个事情并不是想象的那么简单的.好了,闲话不多说,下面我来说说我在运用R的时候遇上的问题吧 ...

最新文章

  1. python 3.8.2 / 内置的数据结构 / list (类似于 STL 中的 vector)
  2. amaze 绝对位置 html,Amaze UI 兼容性列表
  3. AI繁荣下的隐忧——Google Tensorflow安全风险剖析
  4. java截取指定字符串中的某段字符
  5. 作者:司恩哲(1985-),男,就职于中国人民银行征信中心数据部
  6. 现在的编程语言越来越多,为什么 C 和 C++ 还没有被现在的时代淘汰呢?
  7. iOS开发UI篇—Quartz2D简单使用(二)
  8. linux 卷标设置与管理
  9. 但见苹果笑,那闻三星哭
  10. lemon oa前端页面——由user-base-list谈项目组织
  11. HDOJ-1232 畅通工程
  12. 坚决反对“企业文学化”
  13. python照片过人脸_python图片人脸检测
  14. FPGA学习——Vivado2017.4安装教程
  15. 0xc0000428 winload.exe无法验证其数字签名的解决方法
  16. 图片热点map area
  17. FreeRTOS动态创建任务
  18. 用api提取ip的优点
  19. **2019年java最新手机号正则**
  20. Tomcat的安装使用,修改默认8080端口号,查询端口号命令

热门文章

  1. C++中的cin、cin.getline()、getline()函数比较
  2. android内存池,两种常见的内存管理方法:堆和内存池
  3. RfD-Net:基于语义实例重构的点云场景理解(CVPR2021)
  4. 多目标跟踪:监控领域你必须要了解的算法
  5. 基于点云的三维物体表示与生成模型
  6. linux 安装jdk tar.gz
  7. Python循环中的变量作用域的灵异现象
  8. cytocape绘图(三)
  9. gffread处理工具
  10. R语言与数据分析(10)-内置数据集