gpt4 book ai didi

r - 如何在没有天数的情况下以 Y-m 格式转换日期

转载 作者:行者123 更新时间:2023-12-04 09:07:34 26 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Converting year and month ("yyyy-mm" format) to a date?

(7 个回答)


6年前关闭。




我有一个看起来像这样的数据向量:

dates<-c("2014-11", "2014-12", "2015-01", "2015-02", "2015-03", "2015-04")

我正在尝试将其转换为可识别的日期格式,但是没有运气:
as.Date(dates,"%Y-%m")
[1] NA NA NA NA NA NA

我怀疑问题在于没有指定日期。

关于如何解决这个问题的任何想法?

最佳答案

动物园包有一个很好的接口(interface),它允许存储年月数据和 as.Date强制为 Date 的方法目的。例如:

library("zoo")
dates <- c("2014-11", "2014-12", "2015-01", "2015-02", "2015-03", "2015-04")

将字符向量或年月转换为 yearmon 的函数是 as.yearmon .第二个参数是各个字符串中日期部分的格式。我在这里使用
  • %Y带世纪的年份
  • %m以十进制表示的月份
  • 用文字分隔 -

  • .
    yrmo <- as.yearmon(dates, "%Y-%m")

    这给
    > yrmo
    [1] "Nov 2014" "Dec 2014" "Jan 2015" "Feb 2015" "Mar 2015" "Apr 2015"

    这实际上是默认设置,因此您可以完全省略格式部分,例如 yrmo <- as.yearmon(dates)
    转换为 Date类对象, as.Date使用方法
    > as.Date(yrmo)
    [1] "2014-11-01" "2014-12-01" "2015-01-01" "2015-02-01" "2015-03-01"
    [6] "2015-04-01"

    此方法有第二个参数 frac指定的允许您说明您希望每个生成的 Date 在月份中的距离。要成为的元素(以天为单位的月份长度的一小部分天数)
    > as.Date(yrmo, frac = 0.5)
    [1] "2014-11-15" "2014-12-16" "2015-01-16" "2015-02-14" "2015-03-16"
    [6] "2015-04-15"

    关于r - 如何在没有天数的情况下以 Y-m 格式转换日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37009720/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com