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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。