8

元のExcelファイルの日付は、「Jan-01」の形式で月次データを表しています。もちろん、最初に手動でExcelでより便利なものに変換してから、それをRに入力することもできます。

そのような日付をRの日付クラスに変換するにはどうすればよいですか?

4

3 に答える 3

15

クラスが必要な場合はdate、as.Dateを使用します。

x <- "Jan-01"
as.Date(paste("01-", x, sep = ""), format = "%d-%b-%y")

POSIXctクラスが必要な場合は、以下の使用を検討してlubridateください。

library(lubridate)
x <- "Jan-01"
dmy(paste("01-", x , sep =""))

あなたがただ頼りたいならbase

x <- "Jan-01"
as.POSIXct(paste("01-", x, sep = ""), format = "%d-%b-%y")
于 2012-05-18T05:43:12.250 に答える
5

編集:

最も簡単な方法は、動物園でyearmonクラスを使用することです。

 require(zoo)
 as.yearmon(x, "%b-%y")
#[1] "Jan 2001"

やや長い方法:

 x="Jan-01"
 xs<-strsplit(x, "-")
 xd <- as.Date( xs[[1]][2], paste( xs[[1]][1], "01",  sep="-"), format="%y-%b-%d")
 xd
#[1] "2001-01-01"

sapply一連の日付を処理する場合は、2番目の方法を選択して、年のベクトルと月のベクトルを作成する場合に使用する必要があります。

于 2012-05-18T04:21:54.907 に答える
0

月の最初の日を強制的に指定すると、次のように日付を変換できます。

datevar <- c("Jan-01","Feb-01","Mar-12")
as.Date(paste("01",datevar,sep="-"),"%d-%b-%y")

これは基本的にDWinが以下に示すものと同じ答えであり、年ではなく日を手動で指定するだけであることに注意してください。

于 2012-05-18T05:23:22.150 に答える