无法将此字符类型转换为R中的正确日期类型

时间:2014-11-18 03:18:43

标签: r dataset posixct string-to-datetime

我有一个数据集,其中包含日期(emp2 $ hiredate)列,采用char格式。在将其转换为Date时,我收到以下错误:

> date1 <- emp2$hiredate[2]

> str(date1)
chr "20FEB1981"

> as.POSIXct(date1)
Error in as.POSIXlt.character(x, tz, ...) : 
character string is not in a standard unambiguous format

如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

R不会自动知道字符串中日期的格式。您需要使用format参数来告诉它如何处理字符串。

您可以使用as.Date创建日期

as.Date("20FEB1981", "%d%b%Y")
# [1] "1981-02-20"

或使用as.POSIXct格式选项创建日期时间

as.POSIXct("20FEB1981", format = "%d%b%Y")
# [1] "1981-02-20 PST"
  • %d表示十进制表格中的某一天
  • %b表示月份不是数字形式,而是缩写名称
  • %Y(大写)表示年份是世纪形式(全部四个数字)