如何创建一个空的日期向量?

时间:2015-06-20 19:54:47

标签: r vector

是否可以在r?

中创建一个空的日期向量

我可以创建一个整数,双精度,逻辑等的空向量:

> integer()
integer(0)
> double()
numeric(0)
> logical()
logical(0)
> length(integer())
[1] 0

但是这个模因不适用于日期,因为date()会返回当前的系统日期和时间。那么,我如何创建日期的emtpy向量?

4 个答案:

答案 0 :(得分:8)

只需将一个类属性添加到一个长度为0的整数中,它就是一个日期(如果你用一个在解释为R-Dates时合理的值扩展它,它至少会显示为一个):

>  x <- integer(0)
> x
integer(0)
> class(x) <- "Date"
> x
character(0)
> class(x)
[1] "Date"
> y <- c(x, 1400)
> y
[1] "1973-11-01"

as.Date的输出恰好是一个字符值,因此第一个调用有点误导。

> as.Date(integer())
character(0)
> str( as.Date(integer()) )
Class 'Date'  num(0) 
> dput( as.Date(integer()) )
structure(numeric(0), class = "Date")

答案 1 :(得分:8)

使用最新版本的R,您必须提供原点:

as.Date(x = integer(0), origin = "1970-01-01")

答案 2 :(得分:4)

使用lubridate包并确定您的预期格式(例如yyyy / mm / dd),您可以使用:

lubridate::ymd()
# or
lubridate::mdy()

答案 3 :(得分:1)

相对于其他一些答案,这似乎可以正常工作并节省了一些击键:

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
import time
from selenium.common.exceptions import WebDriverException