Вероятно, вы ищете не гребни плотности, а регулярные линии гребней.
Есть несколько вариантов нормализации. Если вы хотите напоминать плотности, вы можете разделить каждую группу по их сумме: height = casosNovos / sum(casosNovos)
. Затем вы можете решить, что вы хотите, чтобы каждый гребень был масштабирован, чтобы поместиться между линиями, что вы можете сделать с помощью функции scales::rescale()
. Вы сами решаете, хотите ли вы сделать это для каждой группы или для всех данных. Я выбрал все данные ниже.
library(tidyverse)
library(ggridges)
url <- httr::GET("https://xx9p7hp1p7.execute-api.us-east-1.amazonaws.com/prod/PortalGeral",
httr::add_headers("X-Parse-Application-Id" =
"unAFkcaNDeXajurGB7LChj8SgQYS2ptm")) %>%
httr::content() %>%
'[['("results") %>%
'[['(1) %>%
'[['("arquivo") %>%
'[['("url")
data <- openxlsx::read.xlsx(url) %>%
filter(is.na(municipio), is.na(codmun)) %>%
mutate_at(vars(contains(c("Acumulado", "Novos", "novos"))), ~ as.numeric(.))
data[,8] <- openxlsx::convertToDate(data[,8])
data <- data %>%
mutate(mortalidade = obitosAcumulado / casosAcumulado,
date = data) %>%
select(-data) %>%
group_by(estado) %>%
mutate(height = casosNovos / sum(casosNovos))
ggplot(data = data[!is.na(data$estado),],
aes(x = date, y = estado, height = scales::rescale(height))) +
geom_ridgeline()