1.3.3 日期及时间值
从技术上说,日期值和时间值不属于基本数据类型,因为其在在R内部表示为数值型。但从使用者的角度来看,日期值和时间值也是一种基本的常用数据类型。
1.日期值
日期值表示日期,存储的是自1970年1月1日以来的天数。日期值的输入通过字符串进行,即用函数 as.Date("date","format") 将字符串转化为日期,其中 date 为要输入的日期的字符串表示形式,format 为日期的格式,默认为“%Y-%m-%d”或“%Y/%m/%d”。也可以用format(date,"format")将已有的日期转化为别的格式。
格式 | 意义 |
---|---|
%d | 日期,01-31 |
%a | 星期,缩写 |
%A | 星期,完整 |
%j | 一年中的第几天 |
%m | 月份,01-12 |
%b | 月份,缩写 |
%B | 月份, 完整 |
%y | 年份,两位数字 |
%Y | 年份,四位数字 |
部分日期转换符号如上表所示,更详细的请查看帮助文档。
2.时间值
时间值表示时间,在 R 内部用自1970年1月1日 0时0分0秒 以来的秒数表示。时间值用as.POSIXct("time","format")的形式输入,也可以用 format 函数进行格式转换,与时间有关的主要转换符号如下表所示。
格式 | 意义 |
---|---|
%H | 24进制小时,00-23 |
%I | 12进制小时,01-12 |
%M | 分钟,00-59 |
%S | 秒数,00-59 |
可以用Sys.time()获取当前时间。
小提示: unclass()函数可以去除对象的类,其概念涉及到R的对象系统,比较复杂,我们在后面的章节中将会逐渐涉及到。此处只需要记住,它可以将获得的日期值或者时间值还原为整数。
3.日期和时间的运算
由于在 R 内部存储为整数,因此日期值和时间值非常容易进行算数运算(日期值可以和日期值运算,不能和时间值混合运算)。
1.3.4 缺失值
在实际的数据分析项目中,经常有数据因为未作答等因素导致不完整或者不可用,在 R 中用 NA 表示。可以用函数 is.na() 来判断对象是否为 NA 。
小提示 缺失值是不可比较和运算的,任何对象与缺失值比较或者预算都会返回一个缺失值,包括缺失值自身。