Попытка использовать условный оператор в функции суммирования в r - PullRequest
0 голосов
/ 02 марта 2020

Я работаю с данными из муниципальной пожарной охраны. Я пытаюсь определить время прибытия первой машины скорой помощи для каждого вызова 9-1-1, у некоторых звонков был только один автомобиль скорой помощи, в то время как у других было больше одного. Каждая запись идентифицируется по номеру вызова (CallNum), есть время отправки (Отправлено), время прибытия (Прибыл) и очищенное время (Сброс), есть другие столбцы, но это не имеет значения для этой задачи. Времена были введены в военном стиле. Я смог вычислить это довольно успешно.

Woburn2 <- WoburnFire %>% group_by(CallNum) %>%
           summarise(FirstVehicle = min(Arrived), rm.na= TRUE)

Это должно быть конец, но столкнулся с несколькими проблемами. Во-первых, когда есть несколько машин скорой помощи с одинаковым временем прибытия, я получаю пустое значение в столбце FirstVehicle. Во-вторых, если среди времени прибытия есть пустое значение, тогда пустое значение будет go в столбце FirstVehicle.

Итак, как я могу создать оператор if в функции суммирования, чтобы при минимальном (прибывшем) значении NA возвращалось второе значение, а если все прибывшие значения равны, возвращалось время прибытия.

1 Ответ

2 голосов
/ 02 марта 2020

rm.na должно быть na.rm и должно быть в пределах min

library(dplyr)
WoburnFire %>% 
       group_by(CallNum) %>%
       summarise(FirstVehicle = min(Arrived, na.rm = TRUE))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...