我导入了一个带有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
Run Code Online (Sandbox Code Playgroud)
如何将mydate转换为日期?
G. *_*eck 46
你很亲密 format=需要添加到as.Date通话中:
mydate <- factor("1/15/2006 0:00:00")
as.Date(mydate, format = "%m/%d/%Y")
## [1] "2006-01-15"
Run Code Online (Sandbox Code Playgroud)
您可以尝试使用lubridate包装,这样可以让生活更轻松
library(lubridate)
mdy_hms(mydate)
Run Code Online (Sandbox Code Playgroud)
以上将更改日期格式为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"
Run Code Online (Sandbox Code Playgroud)
对于因子使用as.character的情况
data <- factor("1/15/2006 01:15:00")
library(lubridate)
mydate <- mdy_hms(as.character(data))
Run Code Online (Sandbox Code Playgroud)
看看中的格式 ?strptime
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"
Run Code Online (Sandbox Code Playgroud)
请注意,即使foo以字符开头,这也会起作用.如果使用其他日期格式(as.POSIXlt,as.POSIXct)也可以.
| 归档时间: |
|
| 查看次数: |
144799 次 |
| 最近记录: |