Мы могли бы создать условие, чтобы if
all
имели значения NA
в deaths
, возвращали 0 или возвращали max
значение
library(dplyr)
data %>%
group_by(state) %>%
summarise(max_deaths = if(all(is.na(deaths))) 0 else max(deaths, na.rm = TRUE),
max_positive = if(all(is.na(positive))) 0 else max(positive, na.rm = TRUE),
max_negative = if(all(is.na(negative))) 0 else max(positive, na.rm = TRUE))
Или использовали summarise_at
data %>%
group_by(state) %>%
summarise_at(vars(deaths, positive, negative),
~ if(all(is.na(.))) 0 else max(., na.rm = TRUE))