Что означает ошибка «неправильный знак в аргументе» при использовании функции seq в R? - PullRequest
0 голосов
/ 21 ноября 2018

У меня есть фрейм данных с именемcast.df:

> str(forecast.df)
Classes ‘data.table’ and 'data.frame':  1027 obs. of  9 variables:
 $ group   : chr  "IT" "IT" "IT" "IT" ...
 $ Name    : chr  "name1" "name1" "name2" "name2" ...
 $ position: chr  "Specialist" "Specialist" "Analyst" "Analyst" ...
 $ job     : chr  "job1" "job2" "job3" "job4" ...
 $ dept    : chr  "IT" "FIN" "FIN" "P&C" ...
 $ bucket  : chr  "Apr-18" "Apr-18" "Apr-18" "Apr-18" ...
 $ start   : Date, format: "2018-01-02" "2018-01-02" "2018-01-15" "2018-01-22" ...
 $ end     : Date, format: "2018-04-06" "2018-01-26" "2018-04-20" "2018-04-06" ...
 $ hours    : int  149 8 109 123 44 124 125 142 70 75 ...
 - attr(*, ".internal.selfref")=<externalptr> 

. Вместо даты начала и окончания я пытаюсь преобразовать ее, чтобы в каждой строке была одна дата, а задание занимает 3дни имеют три строки, связанные с ним (необходимые для визуализации, которую мы делаем.)

Код, который я использую, таков:

tidyForecast.df <- setDT(forecast.df)[ , list(group = group
                                              , name = Name
                                              , position = position
                                              , job = job
                                              , dept = dept
                                              , bucket = bucket
                                              , hours = hours
                                              , date = seq(start
                                                           , end
                                                           , by = "day"))
                                       , by = 1:nrow(forecast.df)]

И ошибка, которую я получаю при использовании этойэто:

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

Я никогда не сталкивался с этой ошибкой раньше, и я использовал этот же формат ранее в коде, и он работал, так что, может быть, это что-то нюанс?

1 Ответ

0 голосов
/ 26 ноября 2018

Нашел, что пошло не так;в 1027 наблюдениях был один случай, когда дата начала была после даты окончания.Вот почему он работал в прошлом, но перестал работать, когда я использовал его для новых данных.Аргумент "по" был отрицательным, потому что разница между двумя датами была отрицательной.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...