R 如何将系数转换为日期格式?

R 如何将系数转换为日期格式?,r,R,我从SQL查询中导入了一个带有日期的CSV文件,但这些日期实际上是日期时间值,R似乎无法将它们识别为日期: > mydate [1] 1/15/2006 0:00:00 2373 Levels: 1/1/2006 0:00:00 1/1/2007 0:00:00 1/1/2008 0:00:00 ... 9/9/2012 0:00:00 > class(mydate) [1] "factor" > as.Date(mydate) Error in charT

我从SQL查询中导入了一个带有日期的CSV文件,但这些日期实际上是日期时间值,R似乎无法将它们识别为日期:

> mydate
[1] 1/15/2006 0:00:00
2373 Levels: 1/1/2006 0:00:00 1/1/2007 0:00:00 1/1/2008 0:00:00 ... 9/9/2012 0:00:00
> class(mydate)
[1] "factor"
> as.Date(mydate)
Error in charToDate(x) : 
  character string is not in a standard unambiguous format

如何将
mydate
转换为日期格式?(我不需要包括时间部分。)

您可以尝试lubridate软件包,它使生活更加轻松

library(lubridate)

mdy_hms(mydate)
上述操作将日期格式更改为POSIXct

示例工作示例:

> data <- "1/15/2006 01:15:00"
> library(lubridate)
> mydate <- mdy_hms(data)
> mydate
[1] "2006-01-15 01:15:00 UTC"
> class(mydate)
[1] "POSIXct" "POSIXt" 
>数据库(lubridate)
>我的日期我的日期
[1] “2006-01-15 01:15:00 UTC”
>类别(mydate)
[1] POSIXct“POSIXt”
对于使用因子作为.character的情况

data <- factor("1/15/2006 01:15:00")
library(lubridate)
mydate <- mdy_hms(as.character(data))

数据查看
?strtime

R> foo <-  factor("1/15/2006 0:00:00")
R> foo <- as.Date(foo, format = "%m/%d/%Y %H:%M:%S")                                           
R> foo                                                                                       
 [1] "2006-01-15"                                                                             
R> class(foo)                                                                                
 [1] "Date"  
R>foo-foo-foo
[1] "2006-01-15"                                                                             
R> 班级(foo)
[1] “日期”

请注意,即使
foo
以字符开头,这也会起作用。如果使用其他日期格式(
as.POSIXlt
as.POSIXct
),它也会起作用。

您已经接近了<代码>格式=
需要添加到
as.Date
调用:

mydate <- factor("1/15/2006 0:00:00")
as.Date(mydate, format = "%m/%d/%Y")
## [1] "2006-01-15"

mydate首先您可能希望
as.POSIXct
,因为它们是datetime格式的。是否有一种基本方法也可以考虑hms?