【问题标题】:How to convert character column to date?如何将字符列转换为日期?
【发布时间】:2021-06-23 16:34:31
【问题描述】:

我的数据框:

  yearmonth basinflow
  <chr>         <dbl>
1 1966-01   0.000105 
2 1966-02   0.0000946
3 1966-03   0.816    
4 1966-04   5.17     
5 1966-05   0.102    
6 1966-06   0.0729   

我想添加一个仅包含月份值的列,但是使用 as.Date 将 yearmonth 转换为日期不起作用。

as.Date(df_Month$yearmonth, format = "%Y-%m")

[1] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
 [35] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA

结果是这样的。我可以尝试什么?或者有没有办法只调用月份部分而不是日期?

【问题讨论】:

    标签: r datetime format as.date yearmonth


    【解决方案1】:

    Date 类也需要一天,我们可以paste 然后使用%Y-%m-%d 或跳过format,因为默认格式是%Y-%m-%d

    as.Date(paste0(df_Month$yearmonth, "-01"), format = "%Y-%m-%d")
    

    【讨论】:

      【解决方案2】:

      您需要先转换为日期吗?您可以从字符串中提取月份。这将从字符串中提取“-”之后的所有内容作为数字类型。

      as.numeric(gsub(".*-","",df_Month$yearmonth))

      【讨论】:

        【解决方案3】:

        已使用zoo::as.yearmon() 函数和/或上述解决方案回答了此问题here

        【讨论】:

          猜你喜欢
          • 2021-10-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-05-24
          • 2019-04-24
          • 2016-11-10
          • 2019-12-27
          • 2013-10-29
          相关资源
          最近更新 更多