将数字日期格式转换为R中的日期对象[重复]

zbdgwd5y  于 2023-06-03  发布在  其他
关注(0)|答案(1)|浏览(249)

此问题已在此处有答案

Converting year and month ("yyyy-mm" format) to a date?(9个回答)
3年前关闭。
我有一个数据集,其中日期列以数字格式表示,例如“189901”表示1899年1月,“189902”表示1888年2月,“189912”表示1888年12月。我想将这个数字日期格式转换为R中的标准日期格式,特别是“YYYY-MM-DD”格式。
我尝试过使用R中的标准日期转换函数,例如.Date()和strptime(),但我找不到处理这种特定数字日期格式的直接方法。给定示例的期望输出将分别是“1899-01-01”、“1888-02-01”和“1888-12-01”。
我相信我需要从数字日期中提取年、月和日组件,然后创建一个具有适当格式的日期对象。但是,我不确定最有效和最准确的方法来实现这一点。
我将非常感谢任何可以帮助我在R中实现这种转换的指导或代码示例。具体来说,我正在寻找有关如何从数字日期中提取年、月和日组件,然后创建具有所需格式的有效日期对象的建议。
提前感谢您的帮助和专业知识。

qxgroojn

qxgroojn1#

date_nums <- paste(c("189901", "189902", "189912"), "01", sep = "")
date_format <- as.Date(paste(date_nums, "01"), format = "%Y%m%d")

date_format
[1] "1899-01-01" "1899-02-01" "1899-12-01"

相关问题