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)列表组件lengths,只需将它们回收到完整长度即可。之前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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。
