使用空单元格将因子转换为日期

spe*_*ndo 1 r date

我有一个因子矢量x看起来像这样:

""
"1992-02-13"
"2011-03-10"
""
"1998-11-30"
Run Code Online (Sandbox Code Playgroud)

我可以将此向量转换为日期向量(使用as.Date())吗?

尝试以明显的方式给我:

> x <- as.Date(x)
Error in charToDate(x) :
character string is not in a standard unambiguous format
Run Code Online (Sandbox Code Playgroud)

目前我解决这个问题是这样的:

> levels(x)[1] <- NA
> x <- as.Date(x)
Run Code Online (Sandbox Code Playgroud)

但这看起来并不太优雅......

先感谢您!

And*_*rie 7

您只需要告诉as.Date您的字符向量中的格式:

xd <- as.Date(x, format="%Y-%m-%d")
xd
[1] NA           "1992-02-13" "2011-03-10" NA           "1998-11-30"

To illustrate that these are indeed dates:
xd[3] - xd[2]
Time difference of 6965 days
Run Code Online (Sandbox Code Playgroud)

PS.as.Date无论您的数据是字符向量还是因子,此转换都可以使用.