Revenu libéral des médecins libéraux - ods_revenu-liberal-des-medecins-liberaux_prod2022

Données - DREES

Structure

Revenu par profession de santé libérale

Code
`revenu-medecins-liberaux` |>
  filter(profession != "Médecins", secteur_de_conventionnement %in% c("Ensemble", "Conventionnés"),
         type_de_revenu == "Revenu d'activité", annee == max(annee)) |>
  ggplot() +
  geom_col(aes(x = reorder(profession, revenu_annuel_moyen_en_euros_courants),
               y = revenu_annuel_moyen_en_euros_courants)) +
  coord_flip() +
  theme_minimal() + xlab("") + ylab(paste("Revenu d'activité annuel moyen,", max(`revenu-medecins-liberaux`$annee))) +
  scale_y_continuous(labels = comma_format(big.mark = " ", suffix = " €"))

Revenu des médecins par spécialité

Code
`revenu-medecins-liberaux` |>
  filter(profession == "Médecins", secteur_de_conventionnement == "Ensemble",
         type_de_revenu == "Revenu d'activité", annee == max(annee)) |>
  ggplot() +
  geom_col(aes(x = reorder(specialites_medicales, revenu_annuel_moyen_en_euros_courants),
               y = revenu_annuel_moyen_en_euros_courants)) +
  coord_flip() +
  theme_minimal() + xlab("") + ylab(paste("Revenu d'activité annuel moyen,", max(`revenu-medecins-liberaux`$annee))) +
  scale_y_continuous(labels = comma_format(big.mark = " ", suffix = " €"))

Secteur 1 vs secteur 2 : l’écart de revenu des médecins

Code
`revenu-medecins-liberaux` |>
  filter(profession == "Médecins", secteur_de_conventionnement %in% c("Secteur 1", "Secteur 2"),
         type_de_revenu == "Revenu d'activité", annee == max(annee)) |>
  ggplot() +
  geom_col(aes(x = reorder(specialites_medicales, revenu_annuel_moyen_en_euros_courants),
               y = revenu_annuel_moyen_en_euros_courants, fill = secteur_de_conventionnement),
           position = "dodge") +
  coord_flip() +
  theme_minimal() + xlab("") + ylab(paste("Revenu d'activité annuel moyen,", max(`revenu-medecins-liberaux`$annee))) +
  scale_y_continuous(labels = comma_format(big.mark = " ", suffix = " €")) +
  scale_fill_viridis_d() +
  theme(legend.position = "bottom", legend.title = element_blank())

Évolution 2017-2021 (euros constants)

Code
`revenu-medecins-liberaux` |>
  filter(profession == "Médecins", secteur_de_conventionnement == "Ensemble",
         type_de_revenu == "Revenu d'activité", annee == max(annee)) |>
  ggplot() +
  geom_col(aes(x = reorder(specialites_medicales, taux_de_croissance_annuel_moyen_2017_2021_en_en_euros_constants),
               y = taux_de_croissance_annuel_moyen_2017_2021_en_en_euros_constants)) +
  coord_flip() +
  geom_hline(yintercept = 0) +
  theme_minimal() + xlab("") + ylab("Taux de croissance annuel moyen 2017-2021 (%, euros constants)")

Revenu d’activité vs revenu libéral

Code
`revenu-medecins-liberaux` |>
  filter(secteur_de_conventionnement %in% c("Ensemble", "Conventionnés"), annee == max(annee)) |>
  mutate(label = if_else(profession == "Médecins", specialites_medicales, profession)) |>
  select(profession, label, type_de_revenu, revenu_annuel_moyen_en_euros_courants) |>
  tidyr::pivot_wider(names_from = type_de_revenu, values_from = revenu_annuel_moyen_en_euros_courants) |>
  filter(!is.na(`Revenu libéral`)) |>
  ggplot(aes(x = `Revenu libéral`, y = `Revenu d'activité`)) +
  geom_abline(slope = 1, intercept = 0, linetype = "dashed", color = "grey60") +
  geom_point(aes(color = profession), size = 2) +
  ggrepel::geom_text_repel(aes(label = label), size = 3, max.overlaps = 20) +
  theme_minimal() +
  scale_x_continuous(labels = comma_format(big.mark = " ", suffix = " €")) +
  scale_y_continuous(labels = comma_format(big.mark = " ", suffix = " €")) +
  scale_color_viridis_d() +
  theme(legend.position = "bottom", legend.title = element_blank())