R入门(十)--- 时间数据
2019-03-24 21:19
148 查看
时间数据
1. 根据日常时间的格式读入R,R默认其为字符形式,字符形式是无法进行运算的。
> bd <- '1996-06-04 10:00:00' > class(bd) [1] "character"
2. 若需要对时间数据进行运算,则要改变数据的格式,函数为strptime()
strptime(需要改的数据,格式为 年-月-日 时:分: ,时区为亚洲上海)
> bdtime <- strptime(x = bd, format = '%Y-%m-%d %H:%M:%S', + tz = 'Asia/Shanghai') > bdtime [1] "1996-06-04 10:00:00 CST" > class(bdtime) [1] "POSIXlt" "POSIXt"
3. 查看系统的时间
> t1 <- Sys.time() > t2 <- date() > t3 <- Sys.Date() > t1;t2;t3 [1] "2019-03-19 21:58:54 CST" [1] "Tue Mar 19 21:58:54 2019" [1] "2019-03-19" > class(t1) [1] "POSIXct" "POSIXt" > class(t2) [1] "character" > class(t3) [1] "Date"
4. 那么"POSIXlt" “POSIXt” 格式的数据文件包含哪些内容
> attributes(bdtime) $`names` [1] "sec" "min" "hour" "mday" "mon" "year" "wday" "yday" [9] "isdst" "zone" "gmtoff" $class [1] "POSIXlt" "POSIXt" $tzone [1] "Asia/Shanghai" "CST" "CDT"
- 包含三个板块的内容,名称、类型、时区
- 前六项分别是‘秒’、‘分’、‘时’、‘日’、‘月’、‘年’;‘wday’ 表示 星期几、‘yday’ 表示一年内的第一天,下述代码表示,出生那天周二,是第155天
- 对数据的年月日调换顺序,format()函数
> bdtime$wday [1] 2 > bdtime$yday [1] 155 > format(Sys.time(),'%j') #今天是今年的第几天 [1] "083" > format(bdtime,format = '%d.%m.%Y') [1] "04.06.1996"
- “POSIXlt” “POSIXt” 格式的数据可以进行加减法计算和逻辑运算
- ‘+1’就是在原有的时间上‘加1秒’,‘+60’就是‘加1分钟’
> bdtime+1 [1] "1996-06-04 10:00:01 CST" > bdtime+60 [1] "1996-06-04 10:01:00 CST"
- 常用时刻格式–>来源于大鹏的《学R》
- 两个时刻进行相减,则得到生日间隔时间(数字大-数字小,则得正数),拓展函数difftime()
> bdtime2 <- strptime( + '1995-09-01 7:30',format = '%Y-%m-%d %H:%M', + tz = 'Asia/Shanghai' + ) > bdtime-bdtime2 Time difference of 277.1042 days # 也可以利用difftime函数,计算两时刻相隔小时、分钟、秒、天等,相关参数在units中设置 > difftime(time1 = bdtime,time2 = bdtime2,units = 'secs') Time difference of 23941800 secs > difftime(time1 = bdtime,time2 = bdtime2,units = 'days') Time difference of 277.1042 days # 计算距离两时刻同等时长的时间 > mean(c(bdtime,bdtime2)) [1] "1996-01-17 20:45:00 CST"
- 关于时间处理的扩展包timeDate
- “POSIXlt” “POSIXt” 格式不可以做加法运算
> bdtime+bdtime2 Error in `+.POSIXt`(bdtime, bdtime2) : 二进列'+'法不适用于"POSIXt" 的对象
相关文章推荐
- 简单入门循环神经网络RNN:时间序列数据的首选神经网络
- JDBC入门(5)--- 时间类型、大数据
- R语言入门代码(三)时间数据类型
- 简单入门循环神经网络RNN:时间序列数据的首选神经网络
- 简单入门循环神经网络RNN:时间序列数据的首选神经网络
- R语言入门(六)excel时间数据导入时日期格式的小问题
- 简单入门循环神经网络RNN:时间序列数据的首选神经网络
- java入门 数据类型
- 《Java从入门到放弃》框架入门篇:springMVC数据传递 (二)
- logstash使用webhdfs插件指定输出字段存储数据到hdfs时间分层(还能保留原来数据)
- dotConnect for Oracle入门指南(九):在数据集中使用存储过程
- 机器学习入门笔记(二):数据的预处理
- 数据绑定框架DataBinding--入门篇
- mysql按天,月,年等时间查询数据
- Python——数据分析Pandas入门
- hdu 2896 病毒入侵 ac自动机入门 附加一组数据
- ETL工具kettle怎么实现增量数据抽取:二 时间戳
- 用perl 提取时间信息并处理数据--实例。
- Cocos2d-x笔记:清空CCUserDefault数据,获取时间(每日领取),子弹拖尾,字体
- oracle按时间点还原数据