【问题标题】:When converting a factor into a date, I get NA as values将因子转换为日期时,我得到 NA 作为值
【发布时间】:2017-02-18 20:19:48
【问题描述】:

我有一个包含 2011 年和 2012 年自行车共享信息的数据集。日期变量是一个因素,显示如下:2011-01-31 (YYYY-MM-DD)。我需要拆分数据集,使其包含所有 2011 年的数据,并且只包含 2012 年上半年的数据。

为此,我想使用以下命令将日期变量从因子转换为日期:

hw3 = read.csv("bikeshare.csv")
hw3$date = as.Date(hw3$date, format = "%m/%d/%Y")

当我检查班级时:

class(hw3$date)

我可以看到该因子已转换为日期,但是我的所有值都更改为 NA 而不是日期。 我做错了什么?

谢谢!

【问题讨论】:

  • 根据您问题中给出的信息,您使用了错误的格式。一个可重复的例子是令人惊叹的手提袋。
  • 只要as.Date(hw3$date)。您从正确的格式转换为错误的格式。另外,请阅读?strptime 以了解格式在 R 中的工作原理。

标签: r date


【解决方案1】:

您必须将年月日的顺序重新排列为"%Y-%m-%d",就像它出现在您的数据中一样,并用-而不是/分隔它们

sapply(hw3, class)
    ride     date 
"factor" "factor"


  hw3
      ride       date
    1    1 2011-01-31
    2    2 2011-02-01
    3    3 2011-02-02

hw3$date <- as.Date(hw3$date, format = "%Y-%m-%d")
sapply(hw3, class)
    ride     date 
"factor"   "Date"

【讨论】:

    猜你喜欢
    • 2015-10-19
    • 1970-01-01
    • 2018-06-05
    • 2015-01-27
    • 2022-08-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多