En résumé
Un jeu de données est une table prête pour l’analyse : une ligne par unité statistique — un patient, un séjour — et une colonne par variable. Il s’importe depuis un fichier, s’organise en dossiers, et se corrige directement dans le tableau. Toute modification est enregistrée comme une opération réversible : le fichier d’origine n’est jamais touché.
Le format de l’analyse
L’entrepôt stocke en format long : une ligne par mesure, avec une colonne indiquant de quoi il s’agit. C’est la forme adaptée à un entrepôt, où l’on ne sait pas d’avance quelles variables existeront.
Une analyse attend l’inverse — le format large : une ligne par unité statistique, une colonne par variable. C’est ce que lisent R, Python et les tableaux de bord. Un jeu de données est cette table-là.
L’unité se choisit selon la question, exactement comme le niveau d’une cohorte : une ligne par patient, par hospitalisation, par séjour en unité — ou par jour de séjour si l’on suit une évolution. Le même entrepôt produit donc des jeux de données de formes très différentes, et c’est cette unité qui détermine ce qu’une ligne veut dire.
Les deux formats sont expliqués en détail ailleurs
Pourquoi cette différence existe, et comment passer de l’un à l’autre : Organiser ses données.
Les jeux de données vivent dans le laboratoire du projet, à côté des tableaux de bord — c’est-à-dire du côté de ce que vous fabriquez, jamais du côté des données sources.
Le fichier source n’est jamais modifié
C’est le principe qui gouverne toute la page, et il vaut d’être compris avant de toucher à quoi que ce soit.
Quand vous corrigez une cellule, ajoutez une ligne ou supprimez une colonne, Linkr n’écrit pas dans votre fichier. Il enregistre votre geste dans un journal, et rejoue ce journal par-dessus le fichier d’origine à chaque affichage.
Le fichier importé
Immuable.
Votre CSV, votre Excel ou votre Parquet, tel que vous l’avez déposé. Rien ne s’y écrit jamais.
Le journal des opérations
Vos corrections, dans l’ordre.
« telle cellule vaut désormais telle valeur », « cette colonne est supprimée ». Chacune s’annule.
Trois conséquences pratiques :
- Rien n’est irréversible. Le bouton Annuler toutes les modifications ramène au fichier d’origine, quel que soit le nombre de corrections.
- Vos corrections sont consultables. L’Historique des modifications les liste de la plus récente à la plus ancienne, en clair : « Colonne poids ajoutée (nombre) », « Ligne 42 supprimée ».
- Vous pouvez tout relire. Si l’on vous demande pourquoi une valeur diffère du dossier patient, la réponse est dans l’historique.
La modification est désactivée par défaut
Un jeu de données s’ouvre en lecture seule. Le bouton Modifier les données active la saisie, et cet état est attaché au jeu de données concerné : changer de fichier vous ramène en lecture seule, sans risque de corriger par mégarde dans la mauvaise table.
Créer un jeu de données
Plusieurs chemins, selon d’où viennent vos données.
Importer un fichier
Le cas le plus courant. CSV, TSV, Excel ou Parquet, glissé-déposé ou choisi depuis le disque.
Depuis un script
Un script R ou Python de l’IDE qui écrit un CSV dans le dossier des jeux de données le voit apparaître ici automatiquement.
Créer une table vide
Pour une saisie manuelle : vous déclarez les colonnes, puis vous remplissez. Utile pour un recueil sur quelques dizaines de patients.
On y ajoute la duplication d’un jeu existant, et l’arrivée de jeux de données avec un projet importé.
L’import d’un fichier
La fenêtre d’import montre un aperçu des dix premières lignes avant de valider quoi que ce soit — c’est là que se repèrent les erreurs de lecture.
Elle propose un préréglage d’import selon la provenance du fichier :
| Préréglage | Ce qu’il fait |
|---|---|
| Tableau simple | Une ligne par enregistrement, une colonne par champ. Sans structure de questionnaire. |
| Goupile (eCRF) | Joint toutes les feuilles de formulaires sur l’identifiant de dossier, et reprend les libellés du dictionnaire. |
| REDCap | Lit un export REDCap ; son dictionnaire fournit les questions, les choix et les conditions. |
| XLSForm / ODK | Lit un export ODK, KoboToolbox ou SurveyCTO. Les questions à choix multiples deviennent une colonne par option. |
Linkr détecte le préréglage d’après le fichier et l’indique par une mention Détecté d’après le fichier ; vous pouvez le changer.
Pour un CSV, vous ajustez le séparateur, l’encodage, le nombre de lignes à sauter et la présence d’une ligne d’en-tête. Pour un Excel, la feuille à lire. Dans l’aperçu, chaque en-tête de colonne porte son type détecté, cliquable pour le forcer.
Déclarez vos valeurs manquantes
Le champ Valeurs manquantes liste les jetons à lire comme vides : par défaut na, n/a, null, nan, none, #n/a. C’est ce qui permet à une colonne de rester numérique malgré quelques cases NA. Le tiret et le point n’y figurent pas volontairement : ce sont des valeurs légitimes trop souvent.
Se tromper d'options n'oblige pas à recommencer
Le fichier d’origine est conservé. Un clic droit sur le jeu de données puis Options d’import permet de changer le séparateur ou l’encodage et de relire le fichier, sans réimporter à la main.
Travailler sur un jeu de données
L’écran est organisé comme un éditeur : l’arborescence des fichiers à gauche, le tableau au centre, un panneau de statistiques de colonne à droite.
Les jeux de données se rangent en dossiers — utile dès qu’un projet en compte une douzaine.

Les colonnes
Le menu d’un en-tête de colonne donne le tri, l’épinglage, le masquage, le déplacement, et deux entrées qui méritent un mot.
Traiter comme force le type d’une colonne : une colonne de codes lue comme des nombres redevient du texte, et les zéros initiaux cessent de disparaître.
Modifier le libellé et la description sépare deux choses que l’on confond souvent :
- le nom est technique — l’en-tête du fichier, celui qu’on écrit dans un script ;
- le libellé est ce qui s’affiche à l’écran, et il peut être traduit.
On y déclare aussi des libellés de valeurs : 1 devient Homme, 2 devient Femme, dans les tableaux comme dans les graphiques, sans que les données changent.
Renommer une colonne ne casse pas vos tableaux de bord
L’identifiant interne d’une colonne dérive de son nom : le renommer change donc cette clé. Linkr répare la chaîne dans le même geste — filtres et widgets suivent. Une seule situation est refusée : si le nouveau nom entrait en collision avec une colonne existante, la manœuvre est bloquée plutôt que d’orienter silencieusement vos widgets vers la mauvaise colonne.
Réimporter le même fichier conserve vos tableaux de bord
Les identifiants de colonnes se déduisent des noms, de façon identique côté navigateur et côté serveur. Un fichier mis à jour puis réimporté produit les mêmes identifiants : vos filtres et vos widgets restent accrochés. À noter, les accents et la ponctuation sont normalisés, donc Âge et age désignent la même colonne.
Corriger les données
Une fois Modifier les données activé, on édite une cellule au clic, on insère une ligne au-dessus, en dessous ou à la fin, et on ajoute une colonne.
Deux boutons accompagnent la saisie : Annuler la dernière modification, et l’Historique qui affiche le nombre d’opérations enregistrées et permet de tout annuler.
Contraindre la saisie
Pour un jeu de données rempli à la main, la fiche d’une colonne accepte des contraintes : obligatoire, valeurs autorisées (une liste déroulante plutôt qu’un champ libre), minimum et maximum, et inclure l’heure pour une date.
Ces contraintes valent pour la saisie, pas pour l'import
Elles guident ce qui est tapé dans Linkr. Elles ne rejettent pas rétroactivement des données déjà importées : déclarer un maximum de 120 sur un âge ne fera pas remonter les valeurs aberrantes d’un fichier existant. Pour contrôler des données importées, voir Qualité des données.
Les statistiques de colonne
Le panneau de droite affiche pour la colonne sélectionnée le nombre de lignes, les valeurs manquantes, les valeurs uniques et la complétude — puis, selon le type, moyenne, médiane, écart-type et distribution, ou l’étendue temporelle.
C’est le réflexe à avoir après un import : une complétude de 40 % sur une variable attendue partout signale en général un problème de lecture, pas un problème de données.
Où vivent les données
Le stockage diffère selon votre installation, ce qui explique quelques différences de comportement.
Mode navigateur
Tout reste dans votre navigateur.
Les lignes sont chargées en mémoire. La limite est celle de votre machine — quelques centaines de milliers de lignes passent, plusieurs millions non.
Mode serveur
Les fichiers sont sur le serveur.
Le tableau n’en descend qu’une page à la fois, ce qui permet des volumes bien supérieurs. Un bouton Rafraîchir relit le dossier si des fichiers y ont été déposés autrement que par Linkr.
Dans les deux cas la modification fonctionne de la même façon, et le fichier d’origine reste intact.
Ce qui part dans l’export
Un jeu de données peut peser lourd, et contenir des données individuelles. Il est donc exclu du versioning par défaut : ce qui part, c’est la structure — les colonnes, leurs types, leurs libellés — pas les lignes.
Pour inclure un fichier précis, on le marque explicitement : clic droit, Marquer pour le versioning. Un badge le signale ensuite dans l’arborescence.
Marquer un jeu de données l'envoie dans le dépôt git
Le marquage se décide fichier par fichier, délibérément. Avant de marquer, vérifiez ce que contient le fichier : des données individuelles poussées dans un dépôt partagé n’en ressortent pas. Voir Versioning et export.
Pour aller plus loin
- Tableaux de bord — visualiser un jeu de données.
- IDE — l’analyser en R ou en Python.
- Versioning et export — ce qui sort du projet, et ce qui reste.
- Organiser ses données — format long et format large.