是否可以在r中創建一個空的日期向量?如何創建日期的空向量?
我可以創造一個整數空載體,雙打,邏輯值等:
> integer()
integer(0)
> double()
numeric(0)
> logical()
logical(0)
> length(integer())
[1] 0
但這個說法並不對日期的工作,作爲date()
返回當前系統日期和時間。那麼,我將如何創建一個日期的emtpy向量?
是否可以在r中創建一個空的日期向量?如何創建日期的空向量?
我可以創造一個整數空載體,雙打,邏輯值等:
> integer()
integer(0)
> double()
numeric(0)
> logical()
logical(0)
> length(integer())
[1] 0
但這個說法並不對日期的工作,作爲date()
返回當前系統日期和時間。那麼,我將如何創建一個日期的emtpy向量?
只需添加一個類屬性的長度0整數,它是一個日期(至少它會顯示爲一個,如果你有當解釋爲R-日期是有意義的值擴展它):
> 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")
在我的情況:'> as.Date(x = integer(0))'返回一個錯誤:'asDate.numeric(x = integer(0))中的錯誤:必須提供'origin'。我必須提供原點:'as.Date(x = integer(0),origin =「1970-01-01」)'工作! – PAC
這不是我演示的方法,它繼續成功。 'as.Date(integer())'的行爲似乎已經改變了。它現在返回您演示的錯誤。我無法在NEWS文件中找到解釋這一變化的條目。 –
隨着最新版本的R,你必須提供產地:
as.Date(x = integer(0), origin = "1970-01-01")
使用lubridate包,並決定您的預期格式是什麼,你可以(如YYYY/MM/DD。)用途:
lubridate::ymd()
# or
lubridate::mdy()
等
檢查[這裏](http://stackoverflow.com/questions/10689055/create-an-empty-data-frame) – akrun
我不知道'date'函數可能來自哪裏,但它並不是一個「基礎」函數。 –