这些值存储为具有自定义类的 difftime 向量,并且始终以 "seconds" 作为单位,以实现对数字的稳健强制。支持从时间值进行构造、对各种数据类型进行强制转换以及格式化。可以用作 DataFrame 中的常规列。
hms()
是一个高级构造函数,它接受秒、分、小时和日分量作为数值向量。
new_hms()
是一个低级构造函数,仅检查其输入是否具有正确的基类型 numeric 。
is_hms()
检查对象是否属于 hms
类。
as_hms()
是一个泛型,支持转换以外的转换。默认方法转发到 vec_cast()
。
用法
hms(seconds = NULL, minutes = NULL, hours = NULL, days = NULL)
new_hms(x = numeric())
is_hms(x)
as_hms(x, ...)
# S3 method for hms
as.POSIXct(x, ...)
# S3 method for hms
as.POSIXlt(x, ...)
# S3 method for hms
as.character(x, ...)
# S3 method for hms
format(x, ...)
# S3 method for hms
print(x, ...)
细节
对于 hms()
,所有参数必须具有相同的长度或者为 NULL
。奇数组合(例如,仅传递 seconds
和 hours
但不传递 minutes
)将被拒绝。
对于 POSIXct 和 POSIXlt 类型的参数,as_hms()
不执行时区转换。根据需要使用lubridate::with_tz()
和lubridate::force_tz()
。
例子
hms(56, 34, 12)
#> 12:34:56
hms()
#> hms()
new_hms(as.numeric(1:3))
#> 00:00:01
#> 00:00:02
#> 00:00:03
# Supports numeric only!
try(new_hms(1:3))
#> Error in new_hms(1:3) : `x` must be a vector with type <double>.
#> Instead, it has type <integer>.
as_hms(1)
#> 00:00:01
as_hms("12:34:56")
#> 12:34:56
as_hms(Sys.time())
#> 16:53:34.607852
as.POSIXct(hms(1))
#> [1] "1970-01-01 00:00:01 UTC"
data.frame(a = hms(1))
#> a
#> 1 00:00:01
d <- data.frame(hours = 1:3)
d$hours <- hms(hours = d$hours)
d
#> hours
#> 1 01:00:00
#> 2 02:00:00
#> 3 03:00:00
相关用法
- R hms parse_hms 解析 hms 值
- R hms round_hms 四舍五入或截断为秒的倍数
- R haven read_xpt 读写 SAS 传输文件
- R haven zap_missing 将特殊缺失修改为常规 R 缺失
- R SparkR hint用法及代码示例
- R haven print_labels 打印带标签向量的标签
- R SparkR hashCode用法及代码示例
- R haven tagged_na “标记”缺失值
- R haven zap_label Zap 变量标签
- R haven read_sas 读取 SAS 文件
- R haven labelled 创建一个标记向量。
- R haven read_dta 读写Stata DTA文件
- R SparkR histogram用法及代码示例
- R haven as_factor 将标记向量转换为因子
- R haven read_spss 读取和写入 SPSS 文件
- R SparkR head用法及代码示例
- R haven zap_empty 将空字符串转换为缺失值
- R haven labelled_spss SPSS 的标记向量
- R haven zap_labels Zap值标签
- R dtrMatrix-class 三角形稠密数值矩阵
- R vcov.gam 从 GAM 拟合中提取参数(估计器)协方差矩阵
- R gam.check 拟合 gam 模型的一些诊断
- R ggplot2 annotation_logticks 注释:记录刻度线
- R matrix转list用法及代码示例
- R Pixel X 射线像素强度随时间的变化
注:本文由纯净天空筛选整理自Kirill Müller等大神的英文原创作品 A simple class for storing time-of-day values。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。