Как решить ошибку при выполнении функции seq? - PullRequest
0 голосов
/ 14 февраля 2019

Я использую следующий код, чтобы получить все даты с 22 января 2014 года по 2 февраля 2014 года. Однако я получаю ошибку, которую не понимаю (так как я следую коду на страницефункция: 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

Что здесь не так?

Ответы [ 2 ]

0 голосов
/ 14 февраля 2019

Попробуйте отладить ваш код.Каждая часть решает, как вы ожидаете?Сравните с примерами и посмотрите, какие есть различия:

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"
0 голосов
/ 14 февраля 2019

Попробуйте некоторые из этих опций:

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")
...