Packages & fonctions utiles

Ici, vous trouverez une liste de fonctions bien utiles dans votre usage quotidien de R. J’ai voulu rajouter des exemples pour chacune d’entre elles, et cette liste est (encore) en construction. Son but n’est évidemment pas de lister les millions de fonctions qui sont disponibles dans R, mais de servir de mémo pour les fonctions très utiles, et comment les utiliser lorsque leur usage est peu intuitif.


cat

La fonction `cat` concatène et imprime les arguments fournis. En bref, elle permet d’afficher du texte ou des variables de manière concise.

varcat <- 10

cat("J'ai ", varcat, " ans")
J'ai  10  ans



ls

Lister les variables, objets, jeux de données, présents dans notre environnement de travail.

ls()
[1] "varcat"


Package gt

gt permet de créer des tableaux élégants avec un contrôle détaillé sur l’apparence et la mise en forme. Il est conçu pour être intuitif et puissant, permettant de produire des tableaux qui sont non seulement informatifs, mais aussi esthétiquement plaisants.

Exemple d’utilisation avec un faux jeu de données sur la production de nickel en Nouvelle-Calédonie

Imaginons un jeu de données fictif qui contient des informations sur la production de nickel en Nouvelle-Calédonie par année et par site de production.

library(gt)
library(dplyr)

Attachement du package : 'dplyr'
Les objets suivants sont masqués depuis 'package:stats':

    filter, lag
Les objets suivants sont masqués depuis 'package:base':

    intersect, setdiff, setequal, union
# Jeu de données fictif
data_nickel <- data.frame(
  Annee = 2015:2020,
  Site_A = c(50000, 52000, 54000, 53000, 55000, 56000),
  Site_B = c(45000, 47000, 46000, 48000, 49000, 50000),
  Site_C = c(40000, 41000, 42000, 43000, 44000, 45000)
)

# Créer un tableau avec gt
tableau_nickel <- data_nickel %>%
  gt() %>%
  tab_header(
    title = "Production de Nickel en Nouvelle-Calédonie",
    subtitle = "Production annuelle par site en tonnes"
  ) %>%
  fmt_number(
    columns = 2:4,
    decimals = 0,
    use_seps = TRUE
  ) %>%
  cols_label(
    Annee = "Année",
    Site_A = "Site A",
    Site_B = "Site B",
    Site_C = "Site C"
  ) %>%
  tab_source_note(
    source_note = "Données fictives pour illustration."
  )

# Afficher le tableau
tableau_nickel
Production de Nickel en Nouvelle-Calédonie
Production annuelle par site en tonnes
Année Site A Site B Site C
2015 50,000 45,000 40,000
2016 52,000 47,000 41,000
2017 54,000 46,000 42,000
2018 53,000 48,000 43,000
2019 55,000 49,000 44,000
2020 56,000 50,000 45,000
Données fictives pour illustration.

Intérêt de gt :


Correlationfunnel

Le package correlationfunnel en R est conçu pour aider à comprendre rapidement les relations entre une variable cible (souvent une variable de réponse binaire) et toutes les autres variables dans un jeu de données. Il transforme les variables en indicateurs binaires, puis calcule les corrélations entre ces indicateurs et la variable cible.

library(correlationfunnel)
══ correlationfunnel Tip #2 ════════════════════════════════════════════════════
Clean your NA's prior to using `binarize()`.
Missing values and cleaning data are critical to getting great correlations. :)
library(dplyr)
library(ggplot2)

# Créer un jeu de données fictif
set.seed(123)

data_nickel <- data.frame(
  Annee = 2010:2020,
  Site_A_Production = c(50000, 51000, 52000, 53000, 55000, 56000, 60000, 62000, 64000, 66000, 68000),
  Site_B_Production = c(40000, 39000, 38000, 37000, 42000, 43000, 45000, 46000, 47000, 48000, 49000),
  Site_C_Production = c(30000, 31000, 32000, 34000, 36000, 37000, 39000, 40000, 41000, 42000, 43000),
  Nickel_Prix = c(12000, 12500, 13000, 13500, 14000, 14500, 15000, 15500, 16000, 16500, 17000),
  Exportations_Tonnes = c(12000, 11500, 13000, 13500, 15000, 15500, 16500, 17000, 17500, 18000, 19000),
  High_Production = c(0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1)  # Variable cible (production élevée ou non)
)
# Ajouter quelques corrélations factices
data_nickel$Demand_Prev_Year <- lag(data_nickel$Exportations_Tonnes) + rnorm(11, mean = 0, sd = 1000)
data_nickel$Site_A_Efficiency <- ifelse(data_nickel$High_Production == 1, rnorm(11, 1.2, 0.1), rnorm(11, 1.0, 0.1))
data_nickel$Demand_Prev_Year[is.na(data_nickel$Demand_Prev_Year)] <- mean(data_nickel$Demand_Prev_Year, na.rm = TRUE)


# Inspecter le jeu de données
head(data_nickel)
  Annee Site_A_Production Site_B_Production Site_C_Production Nickel_Prix
1  2010             50000             40000             30000       12000
2  2011             51000             39000             31000       12500
3  2012             52000             38000             32000       13000
4  2013             53000             37000             34000       13500
5  2014             55000             42000             36000       14000
6  2015             56000             43000             37000       14500
  Exportations_Tonnes High_Production Demand_Prev_Year Site_A_Efficiency
1               12000               0         15203.08         0.8973996
2               11500               0         11769.82         0.9271109
3               13000               0         13058.71         0.9374961
4               13500               0         13070.51         0.8313307
5               15000               1         13629.29         1.3786913
6               15500               1         16715.06         1.2497850
# Convertir les variables en format binaire et utiliser correlationfunnel
data_nickel_binarized <- data_nickel %>%
  binarize()

# Visualiser le funnel de corrélation
data_nickel_binarized %>%
  correlate(target = High_Production__1) %>%
  plot_correlation_funnel(interactive = FALSE)

Explication :

Intérêt de correlationfunnel :

Résultat attendu :

Le résultat est un graphique en entonnoir qui montre les variables les plus corrélées avec la production élevée (High_Production). Cela peut aider à identifier les facteurs clés influençant la production dans le contexte de la Nouvelle-Calédonie.

En résumé, correlationfunnel est un outil puissant pour l’analyse exploratoire des données, particulièrement utile pour les projets où l’identification rapide des variables corrélées à une cible est cruciale.


Skimr

Le package skimr fournit un résumé statistique amélioré qui est à la fois lisible et informatif. skimr génère des statistiques descriptives pour chaque colonne d’un dataframe, en fonction du type de données (numérique, facteur, etc.).

library(skimr) 

skim(data_nickel)
Data summary
Name data_nickel
Number of rows 11
Number of columns 9
_______________________
Column type frequency:
numeric 9
________________________
Group variables None

Variable type: numeric

skim_variable n_missing complete_rate mean sd p0 p25 p50 p75 p100 hist
Annee 0 1 2015.00 3.32 2010.00 2012.50 2015.00 2017.50 2020.00 ▇▅▅▅▅
Site_A_Production 0 1 57909.09 6378.94 50000.00 52500.00 56000.00 63000.00 68000.00 ▇▃▂▃▃
Site_B_Production 0 1 43090.91 4206.06 37000.00 39500.00 43000.00 46500.00 49000.00 ▇▂▅▅▇
Site_C_Production 0 1 36818.18 4578.61 30000.00 33000.00 37000.00 40500.00 43000.00 ▇▂▅▅▇
Nickel_Prix 0 1 14500.00 1658.31 12000.00 13250.00 14500.00 15750.00 17000.00 ▇▅▅▅▅
Exportations_Tonnes 0 1 15318.18 2532.52 11500.00 13250.00 15500.00 17250.00 19000.00 ▇▂▅▇▅
High_Production 0 1 0.64 0.50 0.00 0.00 1.00 1.00 1.00 ▅▁▁▁▇
Demand_Prev_Year 0 1 15203.08 2170.24 11769.82 13349.90 15234.94 16514.11 19224.08 ▇▂▇▇▂
Site_A_Efficiency 0 1 1.08 0.18 0.83 0.93 1.09 1.21 1.38 ▇▂▃▃▃

Sortie : Vous obtiendrez des statistiques comme la moyenne, la médiane, la distribution, le nombre de valeurs manquantes, etc., organisées par type de données (numériques, facteurs, etc.).