>library(eeptools)
>library(lubridate)
> a = c("2019-06-09", "2006-05-04")
> is.Date(a)
[1] FALSE
>
> as.Date(a, "%Y-%m-%d")
[1] "2019-06-09" "2006-05-04"
>
> typeof(a)
[1] "character"
>
> is.Date(a)
[1] FALSE
>
> class(a)
[1] "character"
我试图将一个字符列表转换为Date,但是由于某些原因,看来as.Date()无法正常工作。谁能告诉我我做错了什么以及如何将列表类型转换为日期。
答案 0 :(得分:-1)
如果您尝试将字符列表中的仅一个元素转换为日期,则该列表将不接受。您必须为整个列表分配相同的数据类型。假设我创建了一个列表:
Dataset$dob <- c("1986-10-17", "1987-10-17")
现在我可以将其转换为日期了,
Dataset$dob <- as.Date(Dataset$dob)
> class(Dataset$dob[1])
[1] "Date"
或者出于任何原因,如果您只想将第一个元素转换为日期:
dob1 <- as.Date(Dataset$dob[1])
> class(dob1)
[1] "Date"
此外,如果您只是想测试代码,则逻辑将是
> is.Date(as.Date(Dataset$dob[1]))
[1] TRUE
希望这会有所帮助!