zoukankan      html  css  js  c++  java
  • R语言学习笔记:日期处理

    1、取出当前日期

    Sys.Date()

    [1] "2014-10-29"

    date()  #注意:这种方法返回的是字符串类型

    [1] "Wed Oct 29 20:36:07 2014"

    2、在R中日期实际是double类型,是从1970年1月1日以来的天数

    typeof(Sys.Date())

    [1] "double"

    3、转换为日期

    用as.Date()可以将一个字符串转换为日期值,默认格式是yyyy-mm-dd。

    as.Date("2007-02-01")   #得到"2007-02-01",显示为字符串,但实际是用double存储的

    as.double(as.Date("1970-01-01"))  #结果为0,是从1970年1月1日以来的天数。

    可以把定制的日期字符串转换为日期型

    as.Date("2007年2月1日", "%Y年%m月%d日") 

    [1] "2007-02-01"

    格式

    意义

    %Y

    年份,以四位数字表示,2007

    %m

    月份,以数字形式表示,从01到12

    %d

    月份中当的天数,从01到31

    %b

    月份,缩写,Feb

    %B

    月份,完整的月份名,指英文,February

    %y

    年份,以二位数字表示,07

    4、把日期值输出为字符串

    today <- Sys.Date()

    format(today, "%Y年%m月%d日")

    [1] "2014年10月29日"

    5、计算日期差

    由于日期内部是用double存储的天数,所以是可以相减的。

    today <- Sys.Date()

    gtd <- as.Date("2011-07-01")   #我是从2011年7月开始实践Get Things Done(GTD)

    today - gtd

    Time difference of 1216 days  

    原来我到今天为止已经实践GTD有1216天了。

    用difftime()函数可以计算相关的秒数、分钟数、小时数、天数、周数

    difftime(today, gtd, units="weeks")  #还可以是“secs”, “mins”, “hours”, “days”

    Time difference of 173.7143 weeks

    继续用R语言解决一个我的实际问题:统计fitbit计步器中的数据并绘图

    # 读入CSV格式的fitbit统计数据

    fitbit <- read.csv("fitbit.csv")

    # 日期要转换一下

    fitbit$date <- as.Date(fitbit$date, "%Y年%m月%d日")

    # 画图,只画线

    plot(fitbit$date, fitbit$step, type="l")

    # 只统计八月的运动情况

    fitbit8 <- fitbit[months(fitbit$date)=="八月", ]
    plot(fitbit8$date, fitbit8$step, type="l")

  • 相关阅读:
    第五周总结
    第四周总结
    关于“模仿"和”创新“
    第三周总结
    第九周总结
    第八周总结
    第六周总结
    中国历史上成功的两人合作
    第五周总结
    第四周总结
  • 原文地址:https://www.cnblogs.com/speeding/p/4060500.html
Copyright © 2011-2022 走看看