【问题标题】:How to initialize a time variable in R?如何在R中初始化时间变量?
【发布时间】:2016-01-30 11:01:54
【问题描述】:

我正在尝试设置一个时间变量,以便将其用于与存储在向量中的时间进行比较,并且正在编写以下内容:

> openingTime <- as.POSIXct('08:00:00 AM', format='%H:%M:S %p', tzone = "EET")
> openingTime
[1] NA

还有

> dput(openingTime)
structure(NA_real_, class = c("POSIXct", "POSIXt"), tzone = "")

我做错了什么?

【问题讨论】:

  • 您在S 前面缺少% 符号,您应该使用tz 而不是tzone。试试openingTime &lt;- as.POSIXct('08:00:00 AM', format='%H:%M:%S %p', tz = "EET")
  • 语法错误 = NA.
  • 谢谢,成功了!
  • @Rhertel 以类似的方式,如果我要创建一个在执行函数时将填充的空时间变量,那么以下就足够了吗? emptyvariable &lt;- as.POSIXct(0, format='%H:%M:%S %p', tz = "EET", origin = '01/01/1970')
  • 不,您发布的命令返回NA。您需要以与format=.. 中指定的类型相对应的格式提供有关日期的信息。创建一个空变量的目的是什么?在 R 中,变量通常是通过为其赋值来创建的。也有例外,例如空列表或空矩阵,但在这种情况下我看不到重点。如果你真的想将 POSIXct 类的变量传递给一个函数,你可能会从一个虚假的日期开始,知道它会在函数调用之后变成一个有意义的日期。

标签: r variables time


【解决方案1】:

正如commented 和@rhertel 指出的那样,使变量工作的正确语法是:

openingTime &lt;- as.POSIXct('08:00:00 AM', format='%H:%M:%S %p', tz = "EET")

【讨论】:

    猜你喜欢
    • 2019-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-26
    • 1970-01-01
    • 2019-12-07
    相关资源
    最近更新 更多