将mm-yy字符串"Jan-01"转换为日期格式

Fre*_*red 5 r date

原始Excel文件中的日期表示格式为"Jan-01"的月度数据.当然,我可以先将它们手动转换为Excel中更有用的东西,然后将其输入到R.

如何将这样的adate转换为R中的Date类?

RJ-*_*RJ- 10

如果你想要一个date类,请使用as.Date:

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

如果您想要POSIXct课程,请考虑使用lubridate:

library(lubridate)
x <- "Jan-01"
dmy(paste("01-", x , sep =""))
Run Code Online (Sandbox Code Playgroud)

如果你只想依靠base:

x <- "Jan-01"
as.POSIXct(paste("01-", x, sep = ""), format = "%d-%b-%y")
Run Code Online (Sandbox Code Playgroud)


42-*_*42- 5

编辑:

最简单的方法是使用动物园中的yearmon类:

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

稍微长一点的方法:

 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"
Run Code Online (Sandbox Code Playgroud)

如果您想处理一串日期,那么您可能需要使用sapplyif 选择第二种方法来制作年向量和月向量