as.Date()没有给出期望的结果。 (不适用)

时间:2018-10-02 16:38:47

标签: r as.date

我将包含Date列的.xlsx文件读入R,并将其转换为数据帧。 某些日期列正在正确读取,但其他大多数列已转换为“ 43116”格式。 任何使用as.Date(,origin = <>,format = <>)将其转换为Date的尝试都将返回NA。 我已经尝试了所有可能的解决方案,例如使用'stringAsFactors = FALSE',POSIT,并检查Excel文件中的日期格式,但没有任何效果。 请帮忙。

1 个答案:

答案 0 :(得分:0)

如果没有提供数据,则很难重新创建问题,但是如果要将数字43129或字符“ 43129”转换为R日期,则应执行以下操作:

a <- 43129
b <- '43129'

format(as.Date(a, origin = "1899-12-30"), '%Y-%m-%d')
[1] "2018-01-29"

format(as.Date(as.integer(b), origin = "1899-12-30"), '%Y-%m-%d')
[1] "2018-01-29"

我使用的格式为yyyy-mm-dd,但如果您正确设置格式,则可以使用任何其他日期格式。 希望对您有帮助!