如何解决执行seq函数时的错误?

问题描述 投票:0回答:2

我运行以下代码,以获得2014年1月22日的所有日期,直到2014年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

这里出了什么问题?

r dataframe seq
2个回答
2
投票

尝试调试代码。每个部分都按照您的期望解决吗?与示例比较,看看有哪些差异:

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"

1
投票

尝试以下选项:

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")
© www.soinside.com 2019 - 2024. All rights reserved.