2013-07-05 14 views
22

SQLクエリから日付を含むcsvファイルをインポートしましたが、日付は実際には日時の値であり、Rは日付として認識されないようです。どのように日付に変換するのですか? (私は時間部分を含める必要はありません)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パッケージを試すことができます

+0

まず:format=as.Dateコールに追加する必要があります。 –

答えて

30

あなたは近くにいました。彼らは日時書式にしているので、あなたはおそらく `as.POSIXct`をしたいすべての

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

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" 

とし因子としての使用。文字

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

が、これはfooが文字として開始しても動作すること?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" 

注フォーマットを見てみましょう。他の日付形式(as.POSIXltas.POSIXct)を使用している場合にも機能します。

関連する問題