的空載體我想要的POSIXct
空載體,這樣我可以在裏面放了POSIXct
:如何使POSIXct
vec <- vector("POSIXct", 10)
vec
vec[1] <- "2014-10-27 18:11:36 PDT"
vec
這是行不通的。有任何想法嗎?
的空載體我想要的POSIXct
空載體,這樣我可以在裏面放了POSIXct
:如何使POSIXct
vec <- vector("POSIXct", 10)
vec
vec[1] <- "2014-10-27 18:11:36 PDT"
vec
這是行不通的。有任何想法嗎?
由於沒有POSIX mode
,你不能初始化向量POSIXct
單獨vector()
(見?mode
所有模式類型的列表)。
但是我們可以使用.POSIXct
來創建一個字符向量。
(x <- .POSIXct(character(10))) ## the same as .POSIXct(vector("character", 10))
# [1] NA NA NA NA NA NA NA NA NA NA
class(x)
# [1] "POSIXct" "POSIXt"
另外請注意,您還可以使用.POSIXct(integer(10))
的起源日期時間的長度10載體。
這是我從未嘗試過的東西。有趣! +1 – jazzurro 2014-11-21 00:55:36
這很簡潔,但它依賴於'.POSIXct'中的解析。更簡單(可能更清晰)將是'.POSIXct(rep(NA,10))' – user295691 2015-10-07 19:33:55
分析貫穿性?不知道這意味着什麼,'.POSIXct()'只是使用'structure()'。有很多方法。你也可以使用'.POSIXct(NA [1:10])' – 2015-10-07 19:35:46
當創建以下列方式一POSIXct矢量,底層類型變爲雙:
> times <- as.POSIXct(c("2015-09-18 09:01:05.984 CEST", "2015-09-18 10:01:10.984 CEST", "2015-09-18 10:21:20.584 CEST"))
> typeof(times)
[1] "double"
> values <- c(5,6,7)
結合上述矢量與字符初始化爲基礎類型的POSIXct空載體,在一個character-結果POSIXct載體:
> tm1 <- c(.POSIXct(character(0)), times)
> typeof(tm1)
[1] "character"
...不能直接畫在:
> ggplot() + geom_line(aes(x=tm1, y=val), data=data.frame(tm1,val))
geom_path: Each group consist of only one observation. Do you need to adjust the group aesthetic?
因此,我更喜歡初始化我的空POSIXct矢量與雙或整數作爲底層類型:
> tm2 <- c(.POSIXct(double(0)), times)
> typeof(tm2)
[1] "double"
> ggplot() + geom_line(aes(x=tm2, y=val), data=data.frame(tm2,val))
> tm3 <- c(.POSIXct(integer(0)), times)
> typeof(tm3)
[1] "double"
> ggplot() + geom_line(aes(x=tm3, y=val), data=data.frame(tm3,val))
#Same thing...
當使用雙,載體也被初始化與有效日期(這可能或可能不是最好):
> .POSIXct(character(10))
[1] NA NA NA NA NA NA NA NA NA NA
> .POSIXct(double(10))
[1] "1970-01-01 01:00:00 CET" "1970-01-01 01:00:00 CET" "1970-01-01 01:00:00 CET" "1970-01-01 01:00:00 CET" "1970-01-01 01:00:00 CET" "1970-01-01 01:00:00 CET"
[7] "1970-01-01 01:00:00 CET" "1970-01-01 01:00:00 CET" "1970-01-01 01:00:00 CET" "1970-01-01 01:00:00 CET"
我通常初始化的事情NA
:
as.POSIXct(rep(NA, 10))
在這種情況下效果很好。它明確地做了@ RichardScriven的答案中發生的一切 - 請參閱那裏的評論以進行更長時間的討論。
我是初始化爲'NA','as.POSIXct(rep(NA,10))' – Gregor 2014-11-21 00:38:28
@Gregor的粉絲 - 你想發佈一個答案嗎?關於結果的數學運算,我有一些有效的擔憂。 – 2015-10-07 20:02:22