r - создать функцию для расчета количества отфильтрованных строк в наборе данных - PullRequest
0 голосов
/ 07 ноября 2018

Я пытаюсь создать вспомогательную функцию, которая будет вычислять количество строк в data.frame в соответствии с параметрами.

getTotalParkeds <- function(place, weekday, entry_hour){
  data <- PARKEDS[
                  PARKEDS$place      == place,
                  PARKEDS$weekday    == weekday,
                  PARKEDS$entry_hour == entry_hour
                  ]
  return(nrow(data))
}

Тогда я запускаю это как:

getTotalParkeds('MyPlace', 'mon', 1)

Итак, возвращается эта ошибка:

Warning: Error in : Length of logical index vector must be 1 or 11 (the number of columns), not 10000

Я совершенно новичок в R, поэтому понятия не имею, что происходит.

Ответы [ 2 ]

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

Допуская другие PARKEDS данные, скажем, данные следующего месяца:

getTotalParkeds <- function(input, place, weekday, entry_hour){

  row.count <- nrow(subset(input, place == place & 
                                  weekday == weekday & 
                                  entry_hour == entry_hour))
  return(row.count)
}
0 голосов
/ 07 ноября 2018

Вот коррекция, которая вам нужна для вашего подхода -

getTotalParkeds <- function(place, weekday, entry_hour){
  data <- PARKEDS[
                  PARKEDS$place      == place &
                  PARKEDS$weekday    == weekday &
                  PARKEDS$entry_hour == entry_hour,
                  ]
  return(nrow(data))
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...