dvf_2019 |>
select(6, 8, 5, 10, 12, lot1_surface_carrez, lot2_surface_carrez) |>
filter(lot1_surface_carrez != 0) |>
mutate(metre_carre = round(valeur_fonciere / lot1_surface_carrez)) |>
filter(!is.na(metre_carre),
# Valeurs mètre carré absurde
metre_carre < 50000,
metre_carre > 1000) |>
group_by(code_postal, nom_commune) |>
summarise(Nobs = n(),
metre_carre_mean = metre_carre |> mean() |> round(),
metre_carre_sd = metre_carre |> sd() |> round(),
metre_carre_max = metre_carre |> max() |> round(),
metre_carre_min = metre_carre |> min() |> round()) |>
filter(Nobs > 100) |>
arrange(-metre_carre_mean) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}