balancePOSIXlt
位于 base
包(package)。 说明
类 "POSIXlt"
的 ‘balance’ 对象的实用程序。
unCfillPOSIXlt(x)
是 balancePOSIXlt(x, fill.only=TRUE, classed=FALSE)
的快速 primitive 版本,或者等效地,unclass(balancePOSIXlt(x, fill.only=TRUE))
的命名来源。
用法
balancePOSIXlt(x, fill.only = FALSE, classed = TRUE)
unCfillPOSIXlt(x)
参数
x |
一个R对象继承自 |
fill.only |
|
classed |
|
“Ragged” 且超出范围与“Balanced” POSIXlt
注意"POSIXlt"
对象x
可能有不同的(9 到 11)列表组件length
s,只需将它们回收到完整长度即可。之前R4.3.0,这在打印、格式化和转换到"POSIXct"
,但通常不是为了length()
,转换为"Date"
或索引,即子集化,[
,或子分配,[<-
.
相关地,组件sec
,min
,hour
,mday
和mon
可能已经超出了其指定范围(例如,0-23 小时)并且仍然可以正常工作,例如在转换和打印方面。这也受到支持,因为R4.3.0,至少当值不是极端时。
函数 balancePOSIXlt(x)
现在将返回 "POSIXlt"
对象 x
的一个版本,默认情况下,它在两种方式上是平衡的:所有内部列表组件都是全长的,并且它们的值在 as.POSIXlt
中指定的范围内的“POSIXlt 详细信息”。设置fill.only = TRUE
只会将列表组件回收到完整长度,但根本不检查它们。当 x
的所有组件都已经是全长时,速度会特别快。
实验上,balancePOSIXlt()
和其他返回 POSIXlt
对象的函数现在设置 logical
属性 "balanced"
,其中 NA
表示 “filled-in”,即,不是 “ragged” 和 TRUE
表示(完全)平衡。
例子
## FIXME: this should also work for regular (non-UTC) time zones.
TZ <-"UTC"
# Could be
# d1 <- as.POSIXlt("2000-01-02 3:45", tz = TZ)
# on systems (almost all) which have tm_zone.
oldTZ <- Sys.getenv('TZ', unset = "unset")
Sys.setenv(TZ = "UTC")
d1 <- as.POSIXlt("2000-01-02 3:45")
d1$min <- d1$min + (0:16)*20L
(f1 <- format(d1))
str(unclass(d1)) # only $min is of length > 1
df <- balancePOSIXlt(d1, fill.only = TRUE) # a "POSIXlt" object
str(unclass(df)) # all of length 17; 'min' unchanged
db <- balancePOSIXlt(d1, classed = FALSE) # a list
stopifnot(identical(
unCfillPOSIXlt(d1),
balancePOSIXlt(d1, fill.only = TRUE, classed = FALSE)))
str(db) # of length 17 *and* in range
if(oldTZ == "unset") Sys.unsetenv('TZ') else Sys.setenv(TZ = oldTZ)
也可以看看
有关有效 POSIXlt
对象的许多方面的更多详细信息,特别是其内部列表组件,请参阅“DateTimeClasses”,例如 as.POSIXlt
,特别是“POSIXlt 详细信息”部分。
相关用法
- R basename 操作文件路径
- R backsolve 求解上三角系统或下三角系统
- R base-defunct 包库中已失效的函数
- R body 访问和操作函数体
- R bindenv 绑定和环境锁定、主动绑定
- R bitwise 按位逻辑运算
- R bquote 表达式中的部分替换
- R builtins 返回所有内置对象的名称
- R bincode Bin 数值向量
- R by 将函数应用于按因子拆分的 DataFrame
- R browserText 检索浏览器调用提供的值的函数
- R browser 环境浏览器
- R file.path 构造文件路径
- R grep 模式匹配和替换
- R getwd 获取或设置工作目录
- R vector 向量 - 创建、强制等
- R lapply 对列表或向量应用函数
- R dump R 对象的文本表示
- R Sys.getenv 获取环境变量
- R rank 样本排名
- R getDLLRegisteredRoutines DLL 中 C/Fortran 例程的反射信息
- R pushBack 将文本推回连接
- R strsplit 分割字符向量的元素
- R seq.Date 生成规则的日期序列
- R invisible 将打印模式更改为不可见
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Balancing “Ragged” and Out-of-range POSIXlt Date-Times。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。