我正在运行以下代码,以获取从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
这是怎么回事?
答案 0 :(得分: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 :(得分: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")