【问题标题】:Problem when I try to convert a data.frame string with date from "1996-04-22" => to "1996-04" in R (using as.Date and format functions )当我尝试在 R 中将日期从“1996-04-22”=> 转换为“1996-04”的 data.frame 字符串时出现问题(使用 as.Date 和格式函数)
【发布时间】:2020-03-18 16:25:25
【问题描述】:

我有一个带有一些日期的数据框,我必须在 R 中将格式 "1996-04-22" 转换为 "1996-04"。 我有很好的转换,但不是在数据类型 Date 中,当我尝试将其转换为数据类型 Date 时,到处都是“NA”。

//meteo 是我的日期框架,date 是日期存放的地方

我做什么:

meteo$date = format(meteo$date, "%Y-%m") 
meteo$date = as.Date(meteo$date, format = "%Y-%m")

【问题讨论】:

  • 日期对象需要有天数。如果您只是想将其格式化为文本,请查看format
  • zoo 包中的yearmon 类可以表示只有年和月的日期。

标签: r database date dataframe type-conversion


【解决方案1】:

使用 zoo 库的 yearmon 函数获取年份和月份。日期也需要一天。

    library(zoo)
    format(as.yearmon(substring(toString(MY_DATE_VARIABLE), 1, 7 )), "%Y-%m")

【讨论】:

  • 感谢您的提示!不幸的是,它可以在年份和月份中获取日期,但它似乎是“chr”数据类型..
  • 我认为日期需要日期,一种解决方案是将日期更改为每月的第一天,然后将列保持为日期类型
猜你喜欢
  • 2016-11-04
  • 2016-08-29
  • 2020-08-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-16
相关资源
最近更新 更多