Zum Inhalt springen
Menü der Dokumentation

Zahlen und Abbildungen zum Code zurückverfolgen

„Eine AUROC von 0,91“ lässt sich nur prüfen, wenn ein Skript den Wert berechnet hat und eine Datei ihn enthält. Geben Sie jeder Zahl einen Weg zurück zum Code.

Zuletzt aktualisiert

In Ihrem Bericht

Bereich
Manuscript
Prüfung
Claim ↔ Code Traceability

Warum das wichtig ist

Selten zweifeln Lesende an einem ganzen Manuskript, meist an einer Zahl. Die hilfreiche Antwort ist ein Weg: Dieser Befehl hat mit dieser Eingabe diese Datei geschrieben, und darin steht 0,91.

Aussagen im Text mit den zugrunde liegenden Ergebnissen zu verknüpfen und die Rohdaten hinter Abbildungen zu speichern, gehört zu den Ten Simple Rules for Reproducible Computational Research. Abbildungen, die nur als Bild existieren, und von Hand aus dem Terminal kopierte Metriken haben keinen solchen Weg.

So sieht gute Praxis aus

  • Berichtete Zahlen schreiben Skripte in Dateien; nichts wird von Hand aus Terminal oder Notebook-Ausgabe kopiert.
  • Ergebnisdateien heißen wie das, was das Manuskript berichtet, etwa table2_auroc.json oder fig3_fold_change.csv.
  • Die Daten hinter jeder Abbildung liegen neben dem Bild, sodass sich Werte ohne neues Plotten ablesen lassen.
  • Gerundet wird im Manuskript; gespeicherte Ergebnisse behalten die volle Genauigkeit.
  • Jede Ergebnisdatei nennt die Seeds und die Zahl der Läufe hinter ihrem Wert.

So beheben Sie es

Python. Schreiben Sie jede berichtete Zahl in eine nach der Aussage benannte Datei, mit Seeds und Läufen:

python
import json
from pathlib import Path
import numpy as np

seeds = [0, 1, 2, 3, 4]
aurocs = [evaluate(train_model(s), test_set) for s in seeds]  # your code

out = Path("results/claims/table2_auroc.json")
out.parent.mkdir(parents=True, exist_ok=True)
out.write_text(json.dumps({
    "claim": "Table 2, held-out cohort AUROC",
    "mean": round(float(np.mean(aurocs)), 3),
    "sd": round(float(np.std(aurocs, ddof=1)), 3),
    "n_runs": len(seeds),
    "seeds": seeds,
    "script": "analysis/evaluate_cohort.py",
}, indent=2))

R. Speichern Sie die Tabelle hinter jeder Abbildung, nicht nur das Bild:

R
fold_change <- summarise_fold_change(counts, design)   # your analysis
dir.create("results/figure3", recursive = TRUE, showWarnings = FALSE)
readr::write_csv(fold_change, "results/figure3/fold_change.csv")
ggplot2::ggsave("results/figure3/figure3.pdf", plot_fold_change(fold_change))

Verweisen Sie auf die Dateien. Eine Tabelle „Ergebnisse“ im README mit Aussage, Befehl und Ausgabepfad führt Lesende direkt dorthin.

Diese Prüfung für Ihr Repository

Fügen Sie einer Analyse Ihr Manuskript hinzu, um Befunde und Korrekturvorschläge zu dieser Prüfung zu erhalten.