使用 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")
我有一个数据集,其日期列具有以下值
> 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")