c语言函数rjulmdy,R语言入门——日期的处理(一)

lubridate函数包的使用

引言

目的

文章结构

lubridate包的主要函数简介

lubridate包简介

常识

尝试解决的问题

获取实时日期

自定义日期

时间 ymd、mdy、dmy

make_datetime

时间类型的转化函数

lubridate包中常用函数汇总

引言

目的

R软件做为一款数据处理的软件,自然能够处理日期格式的数据。但是R语言里的函数众多,对于许多初学者不知道如何去系统的学习使用。我将花两个篇幅去介绍处理日期的函数,本文系统介绍R语言里的lubridate函数包。

文章结构

本文先介绍基本的R语言日期处理的常识知识,然后在具体的介绍lubridate函数包里的函数使用。下图是文章结构的展示。

f29c89fc06795ebc2bb79a33c0adc1ca.png

lubridate包的主要函数简介

lubridate包简介

在数据中日期的出现场景很多,也会出现很多技术问题,如何随心所欲的去创建一个时间序列去匹配已经有的数据?怎么处理已经读入的现有的日期数据?那么lubridate包他来了,他就是一个专注解决日期技术的一个包。由于篇幅和能力有限,这篇文章要介绍的也不能面面俱到。只能为读者开个头,更加深入的问题,希望读者去读该包的帮助文档。当然我们也会把本文要解决的问题列出来,并努力讲清楚。

常识

1、日期数据主要有七部分组成:年、月、日、时、分、秒、时区。所以在大的方面分为两部分。

日期型数据: 不含具体时间的日期数据

日期时间型数据: 包含具体时间的日期数据

2、R语言中的日期的类属性是:Date、整数存储。默认从1970年1月1日开始往后的天数。如果读入的数据时整数的同志也不要担心,自行运算便可得到对应日期,当然R语言内部接受默认的日期向量化运算。

例如:1970-01-02储存的整数为1。

尝试解决的问题

下面是本文lubridate包要解决的问题

1、能够实时获取日期型数据和日期时间型数据。

2、自定义生成公式化的日期数据。(Date型)

3、实现日期型数据和日期时间型数据的转化。

4、列出提取Date类中的年月日时分秒等元素。

获取实时日期

先介绍获取日期的函数now和today函数,按着惯例先介绍函数的参数,由于两个函数的参数比较相似,我们只贴出now函数的函数体:

function (tzone = "")

with_tz(Sys.time(), tzone)

接着是运行代码效果以及注释:

> today() # 获取当日的 年月日 需要载入lubridate包才可以使用

[1] "2020-03-29"

> lubridate::today() # 获取当日的年月日 不需要载入包

[1] "2020-03-29"

> # 以下函数区别同上 只备注功能

> now() # 获取当日的 年月日 时分秒 时区

[1] "2020-03-29 10:38:33 CST"

> lubridate::now()

[1] "2020-03-29 10:38:33 CST"

上面的注释已经很明朗,我们只解释下CST的含义。他是操作的时候你的电脑ip所在的时区,一般会和你的常识一致,所以不用太过纠结。

自定义日期

时间 ymd、mdy、dmy

构建时间一般是需要字符数据的,这部分的三个函数识别的格式可以是-分割,也可以是/分割的。即:

“2020-3-29”或者“2020/3/29”

我们以年月日的函数为例子贴出函数参数和函数体:

function (..., quiet = FALSE, tz = NULL, locale = Sys.getlocale("LC_TIME"),

truncated = 0)

.parse_xxx(..., orders = "ymd", quiet = quiet, tz = tz,

locale = locale, truncated = truncated)

下面是运行例子以及注释:

> # 本例子以单个字符为例子,可以向量化处理

> (da = ymd("2020-3-28")) # 年月日

[1] "2020-03-28"

> class(da) # 查看数据类型

[1] "Date"

> mdy("3-28-2020")

[1] "2020-03-28"

> dmy("28-3-2020")

[1] "2020-03-28"

> # 当然以下字符格式也可以识别

> ymd("2020/3/28")

[1] "2020-03-28"

这里不再进行解释啥,在自定义的时候也常常用到下面的函数。

make_datetime

下面是该函数的参数和函数体,从中我们可以看出该函数的参数很齐全可以随意的生成year, month, day, hour, min, sec,。

function (year = 1970L, month = 1L, day = 1L, hour = 0L, min = 0L,

sec = 0, tz = "UTC")

{

lengths

下面是一些例子。

make_datetime() # 默认输出 UTC 为本初子午线上平均太阳时。

make_datetime(year = 2020L, month = 3L, day = 29L, hour = 0L, min = 0L,

sec = 0, tz = "UTC") # 输出当下日期

时间类型的转化函数

最后介绍下转化函数,这一步不会改变内参数,但是方便统一格式进行运算。 as_date, as_datetime这里仅仅贴出该函数的参数,就不再写示例代码了。

> as_date

standardGeneric for "as_date" defined from package "lubridate"

function (x, ...)

standardGeneric("as_date")

standardGeneric("as_date")

Methods may be defined for arguments: x

Use showMethods("as_date") for currently available ones.

> as_datetime

nonstandardGenericFunction for "as_datetime" defined from package "lubridate"

function (x, ...)

{

standardGeneric("as_datetime")

}

code: 0x00000000233d1488>

Methods may be defined for arguments: x

Use showMethods("as_datetime") for currently available ones.

lubridate包中常用函数汇总

在lubridate包还有其他函数,现在把常用的提取日期各个元素函数汇总如下表:

函数

含义

year

取出年

month

取出月

mday

取出日

yday

取出一年中的第几天(元旦为1)

wday

取出周几(周天为1,周六为7)

hour

取出时

minute

取出分

second

取出秒

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值