R语言时间序列常用lubridate包—1

加载包

> library(lubridate)
> library(tidyverse)
> library(nycflights13)

一.创建日期

1.简单创建
  • 举例
> today() #具体到日
[1] "2021-09-20"
> now() #具体到秒
[1] "2021-09-20 20:49:51 CST"
# 计算
> as.Date(today())-as.Date("2021-01-01")
Time difference of 262 days
2.字符串创建
  • 举例1
##1 日期型,和符号没关系-/
> ymd("20210920")
[1] "2021-09-20"
> ymd("2021/09/20")
[1] "2021-09-20"
> ymd("2021/9/20")
[1] "2021-09-20"
> ymd("2021920")
[1] NA
##年月日,日月年,月日年
> mdy("september 20st, 2021")
[1] "2021-09-20"
> dmy("20-sep-2021")
[1] "2021-09-20"
##2 日期时间型(到秒)
> ymd_hms("2017-01-31 20:11:59")
[1] "2017-01-31 20:11:59 UTC"
  • 举例2
  • 创建日期,注意formatC函数
 aa <- paste("202109",
+       formatC(1:20,flag = 0,width = 2),
+       sep = "")
> aa
 [1] "20210901" "20210902" "20210903"
 [4] "20210904" "20210905" "20210906"
> ymd(aa)
 [1] "2021-09-01" "2021-09-02" "2021-09-03"
 [4] "2021-09-04" "2021-09-05" "2021-09-06"
> as.Date(ymd(aa))-as.Date("2021/01/01")
Time differences in days
 [1] 243 244 245 246 247 248 249 250 251 252
[11] 253 254 255 256 257 258 259 260 261 262
3.日期成分创建
  • 举例make_datetime
> flights %>%
+   select(year, month, day, hour, minute) %>%
+   mutate(
+     departure = make_datetime(year, month, day, hour, minute)
+   )
# A tibble: 336,776 x 6
    year month   day  hour minute departure          
   <int> <int> <int> <dbl>  <dbl> <dttm>             
 1  2013     1     1     5     15 2013-01-01 05:15:00
 2  2013     1     1     5     29 2013-01-01 05:29:00
 3  2013     1     1     5     40 2013-01-01 05:40:00
 4  2013     1     1     5     45 2013-01-01 05:45:00
 5  2013     1     1     6      0 2013-01-01 06:00:00
 6  2013     1     1     5     58 2013-01-01 05:58:00
 7  2013     1     1     6      0 2013-01-01 06:00:00
 8  2013     1     1     6      0 2013-01-01 06:00:00
 9  2013     1     1     6      0 2013-01-01 06:00:00
10  2013     1     1     6      0 2013-01-01 06:00:00
# ... with 336,766 more rows
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值