Linkr
Accueil Ressources Outils Documentation Blog Démo
EN
  • Qu'est-ce que Linkr ?
  • Modes de déploiement
  • Démarrage rapide
  • Installation locale
  • Avec Docker
  • Installation manuelle
  • Client-only
  • Installer LibreChat
  • Votre premier projet
  • Linkr dans un EDS
  • Espaces de travail et projets
  • Le pipeline de données
  • Entités et partage
  • Versioning et collaboration
  • Vue d'ensemble
  • Projets
  • Wiki
  • Plugins
  • Membres et rôles
  • Paramètres
  • Schémas
  • Obtenir et explorer
  • Mapping
  • Bases de données
  • Sous-bases dérivées
  • Qualité des données
  • Catalogue de données
  • Construire et publier
  • Anonymiser
  • Collections de scripts SQL
  • Pipelines ETL
  • Construire et exécuter
  • Générer les scripts
  • Présentation
  • Projets d'alignement
  • Vue d'ensemble
  • Concepts cibles
  • Éditeur d'alignements
  • Suggestions
  • Agent IA
  • Évaluation
  • Export
  • Vue d'ensemble
  • Bases de données
  • Concepts
  • Cohortes
  • Construire
  • Résultats, SQL et rapport
  • Données individuelles
  • Pipeline
  • Jeux de données
  • IDE
  • Applications web
  • Versioning
  • Vue d'ensemble
  • Onglets et widgets
  • Widgets intégrés
  • Widgets d'analyse
  • Cartes de contrôle (SPC)
  • Questionnaires et eCRF
  • Code R et Python
  • Filtres, paramètres et export
  • Vue d'ensemble
  • Mode présentation
  • Exporter un rapport
  • Agents
  • Serveur MCP
  • Skills
  • Import et export
  • Versioning git
  • Catalogue communautaire
  • Publier du contenu
  • Installation en production
  • Configuration
  • Connecteurs de bases de données
  • Authentification et permissions
  • Fichiers sur le serveur
  • Sauvegarde et restauration
  • Contribuer au code
  • Glossaire
  • Raccourcis clavier
  • Notes de version
Documentation Projet Jeux de données

Jeux de données

Importer, corriger et analyser les tables prêtes pour l'analyse : l'import et son aperçu, le journal des modifications, les colonnes et leurs libellés, les analyses rattachées.

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é.

Client Disponible en mode client-only — tout fonctionne dans le navigateur, sans backend. Backend Disponible avec le backend FastAPI.

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églageCe qu’il fait
Tableau simpleUne 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.
REDCapLit un export REDCap ; son dictionnaire fournit les questions, les choix et les conditions.
XLSForm / ODKLit 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.

demo.linkr.interhop.org

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

Tableau simple

Une ligne par enregistrement, une colonne par champ. Sans structure de questionnaire.

Séparateur

Encodage

UTF-8

Lignes à sauter

0

Ligne d'en-tête

Oui
Valeurs manquantesRéinitialiser

Jetons lus comme vides. Une colonne numérique qui en contient reste un nombre.

nan/anullnannone#n/a
#stay_idagesexsaps2admitted_on
1S-1042671412024-03-02
2S-1043542282024-03-02
3S-1044811null2024-03-04
4S-1045732522024-03-05
Affichage de 4 sur 1 284 lignes
La fenêtre d'import. Sur admissions.csv, passez le séparateur de « Détection auto » à « Virgule » : le fichier, séparé par des points-virgules, se tasse dans une seule colonne de texte. Cliquez sur un badge de type pour forcer le type d'une colonne. Sur export_goupile.xlsx, le préréglage Goupile est détecté d'après le fichier.

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.

L'écran des jeux de données : l'arborescence et les analyses à gauche, le tableau au centre, et le panneau de statistiques à droite — ici la complétude, les quartiles et la distribution de la colonne âge.
L'écran des jeux de données : l'arborescence et les analyses à gauche, le tableau au centre, et le panneau de statistiques à droite — ici la complétude, les quartiles et la distribution de la colonne âge.

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.

demo.linkr.interhop.org
#Sexe
Trier croissant
Trier décroissant
Épingler la colonne
Voir les statistiques
Modifier le libellé et la description
#Traiter comme
Masquer la colonne
Supprimer la colonne

Modifier la colonne

Ajoutez un libellé lisible et une description pour « sex ». Le nom technique reste inchangé.

Libellé

Description

Sexe administratif à l'admission.

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.

1
2

Dans le tableau

HommeFemmeFemmeHommeHomme
Le menu d'un en-tête de colonne, et la fenêtre « Modifier la colonne » qu'ouvre « Modifier le libellé et la description ». Modifiez un libellé de valeur : l'aperçu en dessous l'affiche aussitôt à la place du code stocké.

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.

demo.linkr.interhop.org
sejours_rea.csv
#Aastay_id#ageAasex#weight_kgventilated
1S-104267M81true
2S-104354F63false
3S-104481M7.4true
4S-104573Fnulltrue
5S-1046412M92false
5 lignesLecture seule : cliquez sur « Modifier les données » pour corriger une cellule.
Le mode édition. Activez « Modifier les données », corrigez le poids aberrant de la ligne 3 ou l'âge de la ligne 5, puis ouvrez l'historique : chaque correction y devient une opération, annulable une à une ou toutes ensemble. Le fichier d'origine, lui, ne change pas.

À 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.

demo.linkr.interhop.org
réanimation
recueil_ventilation.csv
1Jeux de données
Analyses
2Analyses
#Aastay_id#age#saps2
1S-10426741
2S-10435428
3S-104481null
4S-10457352
5S-10464119
6S-10476937
3Tableau ou analyse

Statistiques de colonne

#age

Complétude98,3 %
Total de lignes1 284
Non nuls1 262
Uniques71
Moyenne63,8
Médiane66
Écart-type15,4
4Statistiques de colonne
Les quatre zones de l'écran : jeux de données (1), analyses (2), tableau ou analyse ouverte (3), statistiques de colonne (4). Cliquez sur une analyse pour l'ouvrir en onglet, revenez au fichier par son onglet, ou créez-en une avec le « + » du panneau Analyses.

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.
PrécédentPipelineSuivantIDE

Produit

  • Accueil
  • Démo

Ressources

  • Documentation
  • Ressources
  • Outils
  • Blog

Communauté

  • Code source Framagit
  • Code source Github

À propos

  • InterHop.org
  • Contact

2021–2026 InterHop — CC BY-NC-SA 4.0 (site) · AGPLv3 (logiciel)