将字符转换为日期 R
Converting character to date R
在 R 中使用日期时,我 运行 遇到了一些日期问题。
这是我的情况。
我正在处理具有以下值的列日期 (ProjectDate) 的数据集
class(Dataset$ProjectDate)
"character"
head(Dataset$ProjectDate)
"End July 2014" "End August 2014" "End September 2014" "End October 2014"
我想将其转换为“%M %Y”格式
我该怎么做?
谢谢
您应该考虑使用两步流程。首先使用 sub
从 ProjectDate
中删除 End
部分。
现在您可以应用 zoo
库中的 yearmon
来转换为 month year
日期格式。
library(zoo)
as.yearmon(sub("^End ", "", df$ProjectDate), "%b %Y")
#[1] "Aug 2014" "Sep 2014"
试试下面的方法。
一、数据。
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"
在 R 中使用日期时,我 运行 遇到了一些日期问题。
这是我的情况。
我正在处理具有以下值的列日期 (ProjectDate) 的数据集
class(Dataset$ProjectDate)
"character"
head(Dataset$ProjectDate)
"End July 2014" "End August 2014" "End September 2014" "End October 2014"
我想将其转换为“%M %Y”格式
我该怎么做?
谢谢
您应该考虑使用两步流程。首先使用 sub
从 ProjectDate
中删除 End
部分。
现在您可以应用 zoo
库中的 yearmon
来转换为 month year
日期格式。
library(zoo)
as.yearmon(sub("^End ", "", df$ProjectDate), "%b %Y")
#[1] "Aug 2014" "Sep 2014"
试试下面的方法。
一、数据。
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"