Guide d’utilisation des données
Interpréter les valeurs manquantes et préparer les données pour l’analyse.
Ce guide présente les marqueurs de données manquantes, les relations mère–fille et les précautions d’import en Python et R.
Guide des valeurs manquantes
Définition des marqueurs
La Traumabase utilise quatre marqueurs pour distinguer différentes significations et origines des données manquantes. Leur sens doit être pris en compte dans l’analyse des données et dans le choix d’une stratégie de traitement des valeurs manquantes, en tenant compte du mécanisme de données manquantes.
NDNon disponible
L’information est attendue, mais n’a pas été retrouvée dans le dossier du patient.
NANon applicable
La question ou la mesure ne s’applique pas dans ce contexte, souvent en raison de la réponse à une question mère.
NRNon renseigné
La variable n’était pas collectée dans cette source ou pendant cette période.
IMPImprenable
Une mesure physiologique n’a pas pu être obtenue, par exemple en raison d’un signal trop faible ou absent.
Prise en compte dans l’analyse
NA : utiliser le contexte clinique
Une imputation fondée sur le sens clinique de la variable peut être justifiée pour NA. Lorsque la réponse à la question mère établit l’absence d’un événement ou d’un traitement, la réponse attendue peut être « Non » ou 0. Par exemple, si un traitement n’a pas été administré, sa dose est codée NA par défaut dans la Traumabase. Dans ce contexte, elle peut être imputée à 0 avec une relative fiabilité.
Relations mère–fille
Dans le formulaire de recueil (eCRF), une réponse peut ouvrir ou fermer une autre question. La variable mère détermine si la variable fille est applicable.
Transport médicalisé ?
Exemple d’imputation : dose de catécholamines
Si aucune catécholamine n’a été administrée, la dose est codée NA dans la Traumabase. L’absence de traitement permet alors d’imputer cette dose à 0 pour l’analyse.
ND, NR et IMP : méthodes statistiques
Pour ND, NR et IMP (ainsi que dans les rares cas où NA ne peut pas être imputé à partir d’une hypothèse clinique), il faut choisir une méthode statistique adaptée à la question de recherche et au mécanisme de données manquantes. Selon le contexte, cela peut inclure une imputation multiple, une méthode d’estimation tenant compte des données manquantes et des analyses de sensibilité.
NR peut concerner une période entière de collecte ; IMP peut être lié à l’état clinique.
Ressources suggérées pour le traitement des valeurs manquantes
R-miss-tastic propose des méthodes, références, tutoriels et exemples en R et Python pour choisir une approche adaptée aux données manquantes.
Notes techniques
La Golden Base contient la chaîne de caractères littérale "NA" pour « Non applicable ». Certains logiciels la convertissent automatiquement en valeur manquante générique à l’import, ce qui efface cette distinction. Préserver les quatre marqueurs avant de préparer les variables pour l’analyse.
Python / pandas
Pour importer un fichier CSV ou Excel de la Golden Base, utiliser keep_default_na=False afin de préserver le marqueur littéral "NA", et na_values pour préciser les valeurs à convertir en valeurs manquantes génériques. L’option dtype=str importe les colonnes sous forme de texte.
import pandas as pd
na_values = ["", "nan", "NaN"]
df_csv = pd.read_csv(
"golden_base.csv",
sep=";",
keep_default_na=False,
na_values=na_values,
dtype=str,
)
df_excel = pd.read_excel(
"golden_base.xlsx",
keep_default_na=False,
na_values=na_values,
dtype=str,
)Seules les cellules vides et les chaînes "nan" et "NaN" deviennent des valeurs manquantes génériques. Les chaînes "NA", "ND", "NR" et "IMP" sont conservées. dtype=str seul ne suffit pas à empêcher la conversion de "NA".
Documentation de référence
R
read.csv() interprète également "NA" comme une valeur manquante par défaut : définir na.strings sans y inclure "NA". Pour Excel, readxl::read_excel() ne convertit par défaut que les cellules vides ; ses options sont rendues explicites ci-dessous pour obtenir le même comportement que dans l’exemple pandas.
df_csv <- read.csv(
"golden_base.csv",
sep = ";",
na.strings = c("", "nan", "NaN"),
colClasses = "character",
check.names = FALSE
)
df_excel <- readxl::read_excel(
"golden_base.xlsx",
na = c("", "nan", "NaN"),
col_types = "text"
)Adapter le séparateur et l’encodage au fichier reçu. Après avoir traité les marqueurs selon le plan d’analyse, convertir les colonnes utiles en nombres ou en dates ; ces exemples les importent volontairement sous forme de texte.