【问题标题】: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】:

    您应该考虑使用两步流程。首先使用subProjectDate 中删除End 部分。

    现在您可以从zoo 库中应用yearmon 来转换为month year 日期格式。

    library(zoo)
    
    as.yearmon(sub("^End ", "", df$ProjectDate), "%b %Y")
    #[1] "Aug 2014" "Sep 2014"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-12-26
      • 1970-01-01
      • 2022-06-30
      • 2023-03-26
      • 2021-03-14
      • 2021-12-18
      • 2015-05-20
      相关资源
      最近更新 更多