fonctionr
dispose de quelques fonctions purement
graphiques. Leur objectif est soit d’uniformiser les graphiques pour une
publication, soit de produire des graphiques originaux à partir de
résultats déjà calculés. Ces fonctions ne sont pas toutes très élaborées
mais peuvent s’avérer utiles. Nous les décrivons sur cette page.
theme_fonctionr()
&
load_and_active_fonts()
theme_fonctionr()
est une fonction qui permet
d’appliquer le thème de fonctionr
à un objet
ggplot2
. Cette fonction a un intérêt si l’on veut
uniformiser l’esthétique de tous les graphiques pour une publication -
ceux qui sont produits avec fonctionr
et ceux qui ne le
sont pas. L’argument font
permet d’indiquer la police
d’écriture à utiliser : une police disponible sur votre système ou une
de celles directement contenues dans fonctionr
. La fonction
load_and_active_fonts()
est automatiquement exécutée
lorsque theme_fonctionr()
est appliqué : celle-ci a pour
but de rendre disponibles les polices incluses dans le package. Cette
fonction est par ailleurs autonome et permet de charger facilement les
polices d’écriture contenues dans fonctionr
afin de les
rendre disponibles pour n’importe quelle utilisation avec
ggplot2
. Voir la documentation de la fonction pour
connaître les polices incluses dans le package.
# Loading of data
data(eusilc, package = "laeken")
tab1 <- eusilc |>
as_survey_design(ids = db030, strata = db040, weights = rb050) |>
group_by(pb220a) |>
summarise(
prop = survey_mean(eqIncome > 10000, proportion = T, vartype = "ci", na.rm = T)
)
ggtab1 <- tab1 |>
ggplot(aes(x = pb220a, y = prop)) +
geom_col() +
labs(title = "I'm a graphic") +
coord_flip()
ggtab2 <- ggtab1 +
theme_fonctionr(font = "Montserrat")
ggtab1 | ggtab2
esth_graph()
esth_graph()
est une fonction qui permet de construire
facilement une graphique similaire à ceux produit par les autres
fonction mais directement à partir d’une tableau de résultats calculé
antérieurement. Cette fonction a un intérêt si l’on veut appliquer
l’esthétique graphique de fonctionr
mais à des indicateurs
qui ne sont pas calculés par une fonction de fonctionr
.
esth_graph()
permet aisément d’intégrer plusieurs éléments
que l’on retrouve dans d’autres graphiques produits par
fonctionr
: valeurs de l’indicateur, bornes d’intervalle de
confiance, nombres d’individus dans l’échantillon. La logique
d’esth_graph()
est différente de celle de
theme_fonctionr()
: la première fonction produit un
graphique à partir d’une table, alors que la seconde applique un thème à
un graphique existant.
En comparaison des autres fonctions, esth_graph()
n’a
pas d’argument data
, mais un argument tab
qui
doit correspondre à la table avec les indicateurs (il s’appelle
tab
car il doit être similaire à l’objet tab
produit par la plupart des fonctions de fonctionr
). Les
arguments var
et value
sont obligatoires et
ils indiquent respectivement les colonnes dans tab
avec nom
de l’indicateur et sa valeur. reorder
et
show_value
. error_low
, error_upp
et n_var
permettent d’indiquer les colonnes dans
tab
où se trouvent les bornes inférieures et supérieures
des barres d’erreurs et le nombre de personnes dans l’échantillon. Par
défaut, ces arguments ont une valeur NULL
, ce qui conduit à
ne pas montrer ces éléments dans le graphique. name_total
permet d’indiquer le nom du total dans tab
de manière à ce
que cette valeur soit mise en évidence (couleur et position) dans le
graphique.
tab2 <- eusilc |>
as_survey_design(ids = db030, strata = db040, weights = rb050) |>
group_by(db040) |>
cascade(
mean = survey_mean(eqIncome, vartype = "ci"),
n = unweighted(n()),
.fill = "Total"
)
esth_graph(tab2,
value = mean,
var = db040,
error_low = mean_low,
error_upp = mean_upp,
n_var = n,
name_total = "Total",
reorder = T,
digits = 1,
unit = "€"
)
make_surface()
make_surface()
permet de créer la représentation de
différentes valeurs déja calculées en tant que surfaces - sous la forme
de carrés. Il s’agit d’un graphique potentiellement intéressant si l’on
veut représenter la taille des logements en m², par exemple. La fonction
est purement graphique ; elle s’applique sur un dataframe de plusieurs
lignes comprenant les modalités/groupes à comparer (argument
var
) et la valeur pour chacun d’eux (value
).
La fonction est donc idéalement applicable au dataframe tab
produit par central_group()
. Notre package
fonctionr
étant destiné à l’analyse inférentielle, les
bornes supérieures et inférieures des intervalles de confiance peuvent
être indiquées (error_low
et error_upp
) ;
elles sont alors affichées sur le graphique d’une manière originale,
comme carrés en pointillés autour de la valeur dans l’échantillon
(show_ci = FALSE
pour les désactiver). L’ordonnancement des
modalités selon la valeur est possible avec l’argument
reorder = TRUE
.
eusilc$pl030_rec <- NA
eusilc$pl030_rec[eusilc$pl030 == "1"] <- "Working full time"
eusilc$pl030_rec[eusilc$pl030 == "2"] <- "Working part time"
eusilc$pl030_rec[eusilc$pl030 == "3"] <- "Unemployed"
eusilc$pl030_rec[eusilc$pl030 == "4"] <- "Student"
eusilc$pl030_rec[eusilc$pl030 == "5"] <- "Retired"
eusilc$pl030_rec[eusilc$pl030 == "6"] <- "Permanently disabled"
eusilc$pl030_rec[eusilc$pl030 == "7"] <- "Fulfilling domestic tasks"
eusilc_mean <- mean_group(
eusilc,
group = pl030_rec,
quanti_exp = py010n + py050n + py090n + py100n + py110n + py120n + py130n + py140n,
filter_exp = !pl030_rec %in% c("Student", "Fulfilling domestic tasks") & db040 == "Tyrol",
weights = rb050
)
eusilc_mean$tab |>
make_surface(
var = pl030_rec,
value = mean,
error_low = mean_low,
error_upp = mean_upp,
reorder = T,
wrap_width_lab = 15,
unit = "€",
title = "Equivalised income in household by socio-economic status",
subtitle = "Example with austrian SILC data from 'laeken' package"
)
La fonction dispose de plusieurs options graphiques. Elle peut
afficher des facettes en renseignant la variable dans l’argument
facet
(le dataframe doit être au format tidy). Le
réordonnancement des modalités fonctionne également avec des facettes :
dans ce cas, les couleurs des carrés permettent de facilement repérer
l’ordre différent par modalité de facette ; on peut indiquer dans
pal
n’importe quelle des palettes de couleur des packages
MetBrewer
, MoMAColors
ou
PrettyCols
. L’argument compare = TRUE
permet
d’afficher la surface la plus petite en surimposition de chaque carré
(par modalité de facette le cas échéant), pour facilement visualiser les
inégalités entre les groupes. L’argument position
permet de
régler l’alignement des surfaces au centre ou en bas ("mid"
ou "bottom"
). L’argument bg
(qui signifie
background) permet de définir la couleur du fond.
eusilc_mean_region <- mean_group(
eusilc,
group = pl030_rec,
facet = db040,
quanti_exp = py010n + py050n + py090n + py100n + py110n + py120n + py130n + py140n,
filter_exp = !pl030_rec %in% c("Student", "Fulfilling domestic tasks") & db040 %in% c("Tyrol", "Upper Austria", "Vienna", "Vorarlberg"),
weights = rb050
)
eusilc_mean_region$tab |>
make_surface(
var = pl030_rec,
facet = db040,
value = mean,
error_low = mean_low,
error_upp = mean_upp,
reorder = T,
show_ci = F,
compare = T,
bg = "lightgoldenrod1",
position = "bottom",
wrap_width_lab = 15,
unit = "€",
pal = "Lively",
title = "Equivalised income in household by socio-economic status",
subtitle = "Example with austrian SILC data from 'laeken' package"
)