首页 > 解决方案 > 可以直接将 datepart 解析为 date 对象而不连接丢失的 datepart

问题描述

假设我有一个字符向量dt,其中一些月年存储为字符格式-

dt <- c("Mar-19", "Apr-19", "May-19")

当我尝试将其转换为日期对象时,它仅返回 NA

as.Date(dt, format = "%b-%y")
[1] NA NA NA

所以我必须首先为每个对象连接一个dummy日期01,然后将其解析为日期,然后格式化矢量以原始格式显示它

format.Date(as.Date(paste0("01-", dt), format = "%d-%b-%y"), "%b-%y")

[1] "Mar-19" "Apr-19" "May-19"

是否有任何直接的方法可以直接解析truncated date/datepart而不连接,从而避免长路径?

标签: rdate

解决方案


您可以使用readr::parse_date它,但它仍然不优雅

library(tidyverse)

dt <- c("Mar-19", "Apr-19", "May-19")

dt %>% parse_date(format = "%b-%y") %>% format("%b-%y")
#> [1] "Mar-19" "Apr-19" "May-19"

reprex 包于 2021-02-01 创建(v0.3.0)


推荐阅读