我有一个带有两种不同格式("%Y-%m-%d"和"%m/%d/%Y")日期的变量:
dput(df)
structure(1:8, .Label = c("2019-04-07", "2019-04-08", "2019-04-09",
"2019-04-10", "7/29/2019", "7/30/2019", "7/31/2019", "8/1/2019"
), class = "factor")
# [1] 2019-04-07 2019-04-08 2019-04-09 2019-04-10 7/29/2019 7/30/2019 7/31/2019 8/1/2019
# 8 Levels: 2019-04-07 2019-04-08 2019-04-09 2019-04-10 7/29/2019 7/30/2019 ... 8/1/2019
Run Code Online (Sandbox Code Playgroud)
我尝试使用as.Datewith解析日期tryFormats
df <- as.character(df)
d <- as.Date(df, tryFormats = c("%Y-%m-%d", "%m/%d/%Y"))
Run Code Online (Sandbox Code Playgroud)
它转换第一个格式结构,然后返回NA第二个格式结构。如果我分别运行这两种格式,它们看起来不错:
t1 <- as.Date(df, format = "%Y-%m-%d")
t2 <- as.Date(df, format = "%m/%d/%Y")
t1
# [1] "2019-04-07" "2019-04-08" "2019-04-09" "2019-04-10" NA
# …Run Code Online (Sandbox Code Playgroud)