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, se corrige directement dans le tableau et porte ses propres analyses. 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 (number) », « 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 — un classeur exporté de Goupile, par exemple — et l’indique par une mention Détecté d’après le fichier ; vous pouvez le changer.
Importer un jeu de données
Importez un fichier CSV, Excel ou Parquet pour créer un nouveau jeu de données.
admissions.csv
1 284 lignes · 5 colonnes
Préréglage d'import
Une ligne par enregistrement, une colonne par champ. Sans structure de questionnaire.
Séparateur
Encodage
Lignes à sauter
Ligne d'en-tête
Jetons lus comme vides. Une colonne numérique qui en contient reste un nombre.
| # | stay_id | age | sex | saps2 | admitted_on |
|---|---|---|---|---|---|
| 1 | S-1042 | 67 | 1 | 41 | 2024-03-02 |
| 2 | S-1043 | 54 | 2 | 28 | 2024-03-02 |
| 3 | S-1044 | 81 | 1 | null | 2024-03-04 |
| 4 | S-1045 | 73 | 2 | 52 | 2024-03-05 |
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. Chaque réglage relit le fichier et met l’aperçu à jour : un mauvais séparateur se voit tout de suite, toutes les valeurs tassées dans une seule colonne. Chaque en-tête porte son type détecté ; un clic sur le badge le force, et un anneau signale un type forcé.
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, en quatre zones : à gauche, l’arborescence des jeux de données et, dessous, le panneau des analyses du jeu sélectionné ; au centre, le tableau — ou l’analyse ouverte, dans un onglet à côté du fichier ; à droite, les statistiques de colonne, qui s’effacent quand une analyse est au premier plan.
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.
Modifier la colonne
Ajoutez un libellé lisible et une description pour « sex ». Le nom technique reste inchangé.
Libellé
Description
Libellés des valeurs
Donnez à chaque code stocké un libellé lisible. Les données ne sont pas modifiées : les libellés n'apparaissent que dans les tableaux, graphiques et filtres.
12Dans le tableau
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
Le bouton Modifier les données se trouve sous le tableau. Une fois activé, une cellule se sélectionne au clic et s’édite comme dans un tableur : double-clic, ou Entrée, ou directement en tapant. Entrée valide et descend d’une ligne. Le bouton Ligne insère une ligne au-dessus ou en dessous de la sélection, ou à la fin ; Colonne en ajoute une. Un clic droit sur un numéro de ligne la déplace ou la supprime.
| # | Aastay_id | #age | Aasex | #weight_kg | ventilated |
|---|---|---|---|---|---|
| 1 | S-1042 | 67 | M | 81 | true |
| 2 | S-1043 | 54 | F | 63 | false |
| 3 | S-1044 | 81 | M | 7.4 | true |
| 4 | S-1045 | 73 | F | null | true |
| 5 | S-1046 | 412 | M | 92 | false |
À côté, Annuler retire la dernière opération, et le compteur ouvre l’Historique des modifications. On y retrouve chaque opération avec son auteur et sa date, et trois gestes : Compacter, qui fusionne les opérations redondantes — dix corrections successives d’une même cellule n’en font plus qu’une —, Annuler la dernière modification, et Annuler toutes les modifications, qui ramène au fichier source après confirmation.
Contraindre la saisie
Pour un jeu de données rempli à la main, la fenêtre Modifier la 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.
Les analyses
Une analyse est un traitement attaché à un jeu de données : une Table 1, un indicateur clé, un graphique, une courbe de survie — ou votre propre code R ou Python. Elle se range dans le panneau Analyses, sous l’arborescence, et s’ouvre dans un onglet à côté du fichier.
| # | Aastay_id | #age | #saps2 |
|---|---|---|---|
| 1 | S-1042 | 67 | 41 |
| 2 | S-1043 | 54 | 28 |
| 3 | S-1044 | 81 | null |
| 4 | S-1045 | 73 | 52 |
| 5 | S-1046 | 41 | 19 |
| 6 | S-1047 | 69 | 37 |
Statistiques de colonne
#age
Le + du panneau ouvre Nouvelle analyse : un nom, puis un Plugin ou du Code personnalisé. Les plugins sont ceux des tableaux de bord — voir Widgets intégrés et Widgets d’analyse. Un plugin qui a des réglages ouvre un second écran : la configuration à gauche, un aperçu en direct à droite, et sa documentation dans l’onglet Doc. Le code personnalisé ouvre un éditeur Python ou R sur le jeu de données.
Une analyse ouverte se règle depuis son panneau Config, et Enregistrer en garde la configuration. Son résultat s’exporte en PNG, et un tableau se copie tel quel ou en LaTeX.
Une analyse suit son jeu de données
Elle est rattachée à un fichier précis : sélectionner un autre jeu de données affiche ses analyses à lui. À l’export, les analyses partent avec la structure du jeu, dans son dossier — même quand ses lignes restent sur la machine.
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. Une petite icône de commit le signale ensuite dans l’arborescence. Son journal des modifications part avec lui — pour un recueil saisi à la main, c’est lui qui porte les valeurs.
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.