【问题标题】:Converting character to date R将字符转换为日期 R
【发布时间】:2018-09-21 03:26:03
【问题描述】:
我在使用 R 中的 Dates 时遇到了一些日期问题。
这是我的情况。
我正在处理具有以下值的列日期 (ProjectDate) 的数据集
class(Dataset$ProjectDate)
"character"
head(Dataset$ProjectDate)
"End July 2014" "End August 2014" "End September 2014" "End October 2014"
我想把它转换成“%M %Y”格式
我该怎么做?
谢谢
【问题讨论】:
标签:
r
date
format
date-conversion
【解决方案1】:
尝试以下方法。
首先是数据。
x <- scan(what = character(),
text = '"End July 2014" "End August 2014"
"End September 2014" "End October 2014"')
现在转换为日期。请注意,您的日期没有日期,因此我将 "End" 替换为日期 "1"。
as.Date(sub("^[[:alpha:]]+", "1", x), "%d %B %Y")
#[1] "2014-07-01" "2014-08-01" "2014-09-01" "2014-10-01"
【解决方案2】:
您应该考虑使用两步流程。首先使用sub 从ProjectDate 中删除End 部分。
现在您可以从zoo 库中应用yearmon 来转换为month year 日期格式。
library(zoo)
as.yearmon(sub("^End ", "", df$ProjectDate), "%b %Y")
#[1] "Aug 2014" "Sep 2014"