• 主页
  • 课程

    关于课程

    • 课程归档
    • 成为一名讲师
    • 讲师信息
    同等学历教学

    同等学历教学

    免费
    阅读更多
  • 特色
    • 展示
    • 关于我们
    • 问答
  • 事件
  • 个性化
  • 博客
  • 联系
  • 站点资源
    有任何问题吗?
    (00) 123 456 789
    weinfoadmin@weinformatics.cn
    注册登录
    恒诺新知
    • 主页
    • 课程

      关于课程

      • 课程归档
      • 成为一名讲师
      • 讲师信息
      同等学历教学

      同等学历教学

      免费
      阅读更多
    • 特色
      • 展示
      • 关于我们
      • 问答
    • 事件
    • 个性化
    • 博客
    • 联系
    • 站点资源

      R语言

      • 首页
      • 博客
      • R语言
      • R语言学习:日期和时间相关知识

      R语言学习:日期和时间相关知识

      • 发布者 weinfoadmin
      • 分类 R语言
      • 日期 2022年1月24日
      测试开头

      2022年第04周。
      这一周R语言学习,记录如下。

      01

      日期和时间

      1.1 获取当前日期和时间

      我们先获知下当前日期和时间。

      Sys.Date()和today()返回当前日期。
      Sys.time()和now()返回日期、时间和时区。在now()中,通过参数tzone指定时区。

      举例说明

      # 当前日期
      Sys.Date()
      lubridate::today()
      # 当前时间
      Sys.time()
      lubridate::now()
      lubridate::now(tzone = "UTC")

      1.2 日期一些检查操作

      am()和pm()检查日期和时间是否上午还是下午。
      leap_year()检查年份是否闰年。

      # 检查是否上午和下午
      lubridate::am(lubridate::now())
      lubridate::pm(lubridate::now())
      # 检查是否闰年
      lubridate::leap_year(lubridate::now())

      小结

      函数 作用
      Sys.Date() 当前日期
      lubridate::today() 当前日期
      Sys.time() 当前时间
      lubridate::now() 当前时间
      lubridate::am() 检查时间是否在上午?
      lubridate::pm() 检查时间否在在下午?
      lubridate::leap_year() 检查年份是否是闰年?

      02

      日期和时间类型

      解决两个问题。

      • 1 如何创建日期和时间类型?

      • 2 如何把其它类型转换为日期和时间类型?

      使用as.Date()或者lubridate::as_date()创建日期。
      举例说明

      release_date <- as.Date("2021-11-11")
      release_date

      release_date <- lubridate::as_date("2021-11-11")
      release_date

      使用as.Date()把字符串、数值、因子转换为日期类型。
      举例说明

      as.Date(18242, origin = "1970-01-01")

      03

      ISO 8601

      使用ISOdate()创建ISO 8601标准的日期和时间。
      ISO 8601标准的日期和时间,如下图。

      R语言学习:日期和时间相关知识

      举例说明

      ISOdate(year  = 2019,
              month = 12,
              day   = 12,
              hour  = 8,
              min   = 5, 
              sec   = 3,
              tz    = "UTC")

      04

      POSIX

      POSIX 表示 Portable Operating System Interface.

      4.1 POSIXct

      POSIXct表示自1970年(UTC)开始的秒数,ct表示日历时间。

      release_date <- as.POSIXct("2021-12-12 08:05:03")
      class(release_date)
      unclass(release_date)

      4.2 POSIXlt

      POSIXlt表示列表中的以下信息。

      • seconds

      • minutes

      • hour

      • day of the month

      • month

      • year

      • day of week

      • day of year

      • daylight saving time flag

      • time zone

      • offset in seconds from GMT

      POSIXlt的lt表示local time。

      release_date <- as.POSIXlt("2021-12-12 08:05:03")
      release_date

      使用unclass或者unlist提取POSIXlt的时间和日期组件。

      release_date <- as.POSIXlt("2021-12-12 08:05:03")
      unclass(release_date)
      unlist(release_date)
      release_date$hour
      release_date$mon
      release_date$zone

      小结

      • 当没有时间组件时使用Date

      • 在处理时间和时区时使用POSIX

      • 当您想要访问/提取不同的组件时,请使用POSIXlt

      05

      日期运算操作

      日期类型可以进行运算操作。

      library(lubridate)
      course_start    <- as_date('2021-04-12')
      course_end      <- as_date('2021-04-21')
      course_duration <- course_end - course_start
      course_duration

      06

      日期和时间案例分析

      虚构一份交易数据,包括发票日期,到期日期和付款日期。

      library(tidyverse)
      transact <- readr::read_csv('https://raw.githubusercontent.com/rsquaredacademy/datasets/master/transact.csv')
      transact %>
      % glimpse()
      transact %>%
        mutate(
          days_to_pay = Payment - Invoice
        )
      transact %>%
        mutate(
          delay = Due - Payment
        ) %>%
        filter(delay < 0) %>%
        mutate(
          delay = delay * -1
        ) 


      关于时间和日期,你有什么问题,请添加我的微信。

      R语言学习:日期和时间相关知识

      我是王路情,利用R语言做数据科学工作,工作内容主要包括数据清洗与准备、数据探索、数据分析、数据挖掘、数据可视化、数据报告、建模工作环境搭建、R语言做科研论文等。我可以提供R语言和数据科学的咨询与服务。欢迎你添加我的微信,加入我创建的R语言群,一起学习和使用R语言。

      如果你想学习数据科学与人工智能,请关注下方公众号~


      2022年R语言学习专辑:
      2022年第03周:R语言学习
      2022年第02周:R语言学习
      2022年第01周:R语言学习

      2021年R语言学习专辑:

      2021年第52周:R语言学习

      2021年第51周:R语言学习

      2021年第50周:R语言学习

      2021年第49周:R语言学习

      2021年第48周:R语言学习

      2021年第47周:R语言学习

      2021年第46周:R语言学习

      2021年第45周:R语言学习

      2021年第44周:R语言学习

      2021年第43周:R语言学习

      2021年第42周:R语言学习

      2021年第41周:R语言学习

      2021年第40周:R语言学习

      2021年第39周:R语言学习

      2021年第38周:R语言学习

      2021年第37周:R语言学习

      2021年第36周:R语言学习

      2021年第35周:R语言学习

      2021年第34周:R语言学习



      如果觉得本文不错,就顺手帮我转发到朋友圈和微信群哦。

      测试结尾

      请关注“恒诺新知”微信公众号,感谢“R语言“,”数据那些事儿“,”老俊俊的生信笔记“,”冷🈚️思“,“珞珈R”,“生信星球”的支持!

      • 分享:
      作者头像
      weinfoadmin

      上一篇文章

      argparse 传参之 add_argument() 方法
      2022年1月24日

      下一篇文章

      argparse 传参之 parse_args() 方法
      2022年1月24日

      你可能也喜欢

      3-1665801675
      R语言学习:重读《R数据科学(中文版)》书籍
      28 9月, 2022
      6-1652833487
      经典铁死亡,再出新思路
      16 5月, 2022
      1-1651501980
      R语言学习:阅读《R For Everyone 》(第二版)
      1 5月, 2022

      搜索

      分类

      • R语言
      • TCGA数据挖掘
      • 单细胞RNA-seq测序
      • 在线会议直播预告与回放
      • 数据分析那些事儿分类
      • 未分类
      • 生信星球
      • 老俊俊的生信笔记

      投稿培训

      免费

      alphafold2培训

      免费

      群晖配置培训

      免费

      最新博文

      Nature | 单细胞技术揭示衰老细胞与肌肉再生
      301月2023
      lncRNA和miRNA生信分析系列讲座免费视频课和课件资源包,干货满满
      301月2023
      如何快速批量修改 Git 提交记录中的用户信息
      261月2023
      logo-eduma-the-best-lms-wordpress-theme

      (00) 123 456 789

      weinfoadmin@weinformatics.cn

      恒诺新知

      • 关于我们
      • 博客
      • 联系
      • 成为一名讲师

      链接

      • 课程
      • 事件
      • 展示
      • 问答

      支持

      • 文档
      • 论坛
      • 语言包
      • 发行状态

      推荐

      • iHub汉语代码托管
      • iLAB耗材管理
      • WooCommerce
      • 丁香园论坛

      weinformatics 即 恒诺新知。ICP备案号:粤ICP备19129767号

      • 关于我们
      • 博客
      • 联系
      • 成为一名讲师

      要成为一名讲师吗?

      加入数以千计的演讲者获得100%课时费!

      现在开始

      用你的站点账户登录

      忘记密码?

      还不是会员? 现在注册

      注册新帐户

      已经拥有注册账户? 现在登录

      close
      会员购买 你还没有登录,请先登录
      • ¥99 VIP-1个月
      • ¥199 VIP-半年
      • ¥299 VIP-1年
      在线支付 激活码

      立即支付
      支付宝
      微信支付
      请使用 支付宝 或 微信 扫码支付
      登录
      注册|忘记密码?