将"2014-05"转换为日期格式,"May 2015"以便在 R 中的 ggplot 中显示



我有这个字符格式的日期"2017-03",我想在"2017年3月"中转换它,以便在R中的ggplot中显示。但当我尝试使用.date("2017-03","%Y-%m"(转换它时,它会给出NA

您可以考虑使用zoo::as.yearmon函数作为:

library(zoo)
#Sample data
v <- c("2014-05", "2017-03")
as.yearmon(v, "%Y-%m")
#[1] "May 2014" "Mar 2017"
#if you want the month name to be in full. Then you can format yearmon type as
format(as.yearmon(v, "%Y-%m"), "%B %Y")
#[1] "May 2014"   "March 2017"

来回分析日期可以这样做:

你提到的是引用MKR:使用动物园包装

library(zoo)
date <- "2017-03"
as.yearmon(date, "%Y-%m")
#[1] "Mar 2017"
format(as.yearmon(date, "%Y-%m"), "%B %Y")
#[1] "March 2017"

如果您想将2017年3月或其他类似格式解析回2017-03:使用hms包,因为基本R没有为日期提供一个很好的内置类

library(hms)
DATE <- "March 1 2017"
parse_date(DATE, "%B %d %Y")
#[1] "2017-03-01"

或者,如果你正在用外语分析日期:

foreign_date <- "1 janvier 2018"
parse_date(foreign_date, "%d %B %Y", locale = locale("fr"))
#[1] "2018-01-01"

通过使用locale=locale("language"(,您可以将具有外国月份名称的日期解析为标准日期。使用此项检查语言:

date_names_langs()

-格式:

-年份:%Y(4位(%Y(2位;00-69->2000-2069,70-99->1970-1999(

-月份:%m(2位(,%b(缩写:Jan(,%b全名January

-日期:%d(2位(

最新更新