【问题标题】:How do I solve error in executing seq function?如何解决执行 seq 函数中的错误?
【发布时间】:2019-02-14 19:29:48
【问题描述】:

我正在运行以下代码,以获取从 2014 年 1 月 22 日到 2014 年 2 月 2 日的所有日期。但是,我收到了一个我不理解的错误(因为我遵循页面上的代码函数:https://www.rdocumentation.org/packages/base/versions/3.5.2/topics/seq.Date)

seq(as.Date("22/01/2014"), as.Date("02/02/2014"), "days")

给我以下错误:

 Error in seq.int(0, to0 - from, by) : wrong sign in 'by' argument

这里出了什么问题?

【问题讨论】:

  • 问题在于您的Date 格式。试试seq(as.Date("2014/01/22"), as.Date("2014/02/02"), by = "days")

标签: r dataframe seq


【解决方案1】:

尝试调试您的代码。每个部分都按您的预期解决吗?比较示例,看看有哪些不同:

Them: seq(as.Date("1910/1/1"), as.Date("1999/1/1"), "days")
You   seq(as.Date("22/01/2014"), as.Date("02/02/2014"), "days")

你能运行这个例子吗?如果没有,你的环境中正在发生一些不祥的事情。

您的代码与示例匹配吗?尝试修改示例,一次修改一个部分,以匹配您想要的内容。

也许是日期格式。尝试执行一小部分代码:

as.Date("22/01/2014")
[1] "0022-01-20"

这看起来对吗?也许as.Date 不理解美国日期格式。尝试修改您的代码:

seq(as.Date("2014-01-22"), as.Date("2014-02-02"), by="days")
[1] "2014-01-22" "2014-01-23" "2014-01-24" "2014-01-25" "2014-01-26" "2014-01-27" "2014-01-28" "2014-01-29" "2014-01-30" "2014-01-31" "2014-02-01"
[12] "2014-02-02"

【讨论】:

    【解决方案2】:

    尝试以下一些选项:

    seq.Date(as.Date("2014/01/22"), as.Date("2014/02/02"), by="days")
    seq.Date(as.Date("22/01/2014", format="%d/%m/%Y"), as.Date("02/02/2014", format="%d/%m/%Y"), by="days")
    seq(as.Date("2014/01/22"), as.Date("2014/02/02"), by="days")
    seq(as.Date("22/01/2014", format="%d/%m/%Y"), as.Date("02/02/2014", format="%d/%m/%Y"), by="days")
    

    【讨论】:

      猜你喜欢
      • 2014-04-30
      • 1970-01-01
      • 1970-01-01
      • 2021-04-16
      • 2020-12-18
      • 2019-07-04
      • 2020-01-22
      • 2021-04-03
      • 2016-07-06
      相关资源
      最近更新 更多