【问题标题】:R - Numeric to Date gives wrong valueR - 迄今为止的数字给出错误的值
【发布时间】:2019-01-18 12:55:59
【问题描述】:

我有一个数据框DP,其中有一列variable 采用数字格式,它是日期的数字表示。

示例:43282 对应于 2018 年 7 月 1 日(在 excel 中尝试)。

但是在 R 中,当我调用 as.Date() 将其转换为日期时,我得到了错误的日期

DP$Time <- as.Date(DP$variable)

  variable       Time
1    43282 2088-07-02

我在这里做错了什么?

【问题讨论】:

  • 非常感谢!!猜猜原点默认为 '1970-01-01' 我将其更改为 origin = '1900-01-01' 并且有效

标签: r date format


【解决方案1】:

如果是基于excel的,则将origin从默认的1970-01-01改为1899-12-30

as.Date(43282, origin = '1899-12-30')
#[1] "2018-07-01"

【讨论】:

    【解决方案2】:

    Excel 的日期来源是“1899-12-30”,R 的日期来源是“1970-01-01”。由于日期的来源不同,从 Excel 导入数据时,您在 R 中得到不同的日期。

    指定正确的原点,它将打印正确的值:


    DP$Time &lt;- as.Date(DP$variable, origin = "1899-12-30")

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-07
      • 1970-01-01
      • 2021-11-16
      • 1970-01-01
      • 2017-08-14
      • 2011-04-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多