【问题标题】:R: strptime() and is.na () unexpected resultsR:strptime() 和 is.na() 意外结果
【发布时间】:2013-07-10 08:54:10
【问题描述】:

我有一个大约 800 万行和 3 列的数据框。我以以下方式使用strptime():

df$date.time <- strptime(df$date.time, "%m/%d/%y %I:%M:%S %p")

这对除 1104 行之外的所有行都适用,我使用它进行了检查

df[is.na(df$date.time), ]

当我查看这些“问题”数据时,date.time 条目的格式似乎符合我的预期。例如,这是一个作为问题出现但似乎不是 NA 的观察结果:

id                date.time              outcome
observation543490 2012-03-11 02:14:01    C

is.na(df$date.time) 为该行返回一个显然已正确转换的 TRUE 值可能会发生什么?

这是一个可重现的示例(如果您在 CST):

is.na(strptime("03/11/12 2:14:01 AM", "%m/%d/%y %I:%M:%S %p", "CST6CDT"))
#[1] TRUE

【问题讨论】:

    标签: r datetime strptime


    【解决方案1】:

    问题很可能是由于夏令时,所有返回 NA 的时间都不存在于您使用的任何时区。

    检查数据源以确定记录数据的时区,然后在对strptime 的调用中将tz 参数设置为该值。

    【讨论】:

      猜你喜欢
      • 2021-04-01
      • 1970-01-01
      • 2013-07-13
      • 1970-01-01
      • 2011-08-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-09
      相关资源
      最近更新 更多