分享
三行代码  ›  专栏  ›  技术社区  ›  FreyGeospatial

为什么lubridate::mdy()在我的输入中缺少day时添加day?

  •  1
  • FreyGeospatial  · 技术社区  · 1 周前

    我故意在代码中省略这一天,并期望它失败、返回警告或返回不完整的记录。

    txt <-  "January 2010"
    lubridate::mdy(txt)
    

    1 回复  |  直到 1 周前
        1
  •  1
  •   akrun    1 周前

    它与句法分析的顺序有关。根据 ?mdy

    对于异构的日期格式,ymd()系列基于输入向量的一个子集来猜测格式。如果输入向量包含许多缺失值或非日期字符串,则子集可能不包含有意义的日期

    mdy month day year mdy公司 ,它将解析为4位数的年份

    lubridate::myd(paste(txt, '01'))
    #[1] "2010-01-01"