将因子转换为日期时,我将NA作为值

时间:2017-02-18 20:19:48

标签: r date

我有一个包含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而不是日期。 我做错了什么?

谢谢!

1 个答案:

答案 0 :(得分:-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"