Другая ошибка R: «сравнение этих типов не реализовано» - PullRequest
0 голосов
/ 22 ноября 2018

Это работает как отдельный оператор, но с ошибками при реализации в функции: учитывая фрейм данных dummyDF со столбцами Status и LastStatusChangeDate, это работает:

> nrow(dummyDF[which(dummyDF$Status == "Confirmed" & dummyDF$LastStatusChangeDate < as.Date("2018-11-30")),])
[1] 9

Но когда я реализую его в функции:

QueueLength <- function(df, Status, LastDate){
  nrow(df[which(df$Status == Status & df$LastStatusChangeDate < as.Date(LastDate)),])
}

и вызвать его таким образом:

QueueLength(dummyDF, "Confirmed", "2018-11-30")

Я получаю эту ошибку: Ошибка в df $ Status == Status: сравнение этих типов не реализовано

Так в чем же разница между типами?Я запустил эту строку:

> typeof(dummyDF$Status)
[1] "list"

ОК, поэтому я пытаюсь сравнить одну строку со списком строк.Я понимаю, почему это проблема, но она не учитывает, что тело функции работает идеально, когда я выполняю ее в интерактивном режиме, как описано выше.

У любого есть мысли о том, как сделатьэта работа в функции?Спасибо.

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