使用 R 将字符转换为日期

Convert Character to Date with R

我有一个数据集,其日期列具有以下值

> class(daten$TIME)
#[1] "character"
head(daten$TIME)
#[1] "1999M01" "1999M02" "1999M03" "1999M04" "1999M05" "1999M06"

我想将其转换为日期格式。 我尝试使用 zoom 包中的代码,但它只显示 NAs

as.yearmon(sub("^M ", "", daten$TIME), "%Y %m")

我的 sessionInfo() 显示以下内容(也许有帮助):

locale:
[1] LC_COLLATE=German_Germany.1252  LC_CTYPE=German_Germany.1252   
[3] LC_MONETARY=German_Germany.1252 LC_NUMERIC=C                   
[5] LC_TIME=German_Germany.1252 

您可以试试下面的代码

> as.yearmon(s, "%YM%m")
[1] "Jan 1999" "Feb 1999" "Mar 1999" "Apr 1999" "May 1999" "Jun 1999"

> as.yearmon(sub("M", "", s), "%Y%m")
[1] "Jan 1999" "Feb 1999" "Mar 1999" "Apr 1999" "May 1999" "Jun 1999"

数据

s <- c("1999M01", "1999M02", "1999M03", "1999M04", "1999M05", "1999M06")

如果您不介意安装新包(使用@ThomasIsCoding 数据):

library(anytime)

anytime(s)

s <- c("1999M01", "1999M02", "1999M03", "1999M04", "1999M05", "1999M06")