[英]How do I create an empty vector of dates?
是否可以在 r 中创建一个空的日期向量?
我可以创建一个由整数、双精度数、逻辑数等组成的空向量:
> integer()
integer(0)
> double()
numeric(0)
> logical()
logical(0)
> length(integer())
[1] 0
但是这个模因不适用于日期,因为date()
返回当前系统日期和时间。 那么,我将如何创建一个空的日期向量?
对于 R 的最新版本,您必须提供原点:
as.Date(x = integer(0), origin = "1970-01-01")
只需将一个类属性添加到一个长度为 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")
使用 lubridate 包并决定您想要的格式(例如 yyyy/mm/dd),您可以使用:
lubridate::ymd()
# or
lubridate::mdy()
等等。
这似乎有效并且相对于其他一些答案节省了一些击键:
> as.Date(character(0))
Date of length 0
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.