(Acest articol a fost publicat pentru prima dată pe blogul pharmaverseși cu amabilitate a contribuit la R-bloggeri). (Puteți raporta problema legată de conținutul acestei pagini aici)
Doriți să vă distribuiți conținutul pe R-bloggeri? dați clic aici dacă aveți un blog, sau aici dacă nu aveți.
Disclaimer: Acest blog conține opinii care aparțin exclusiv autorilor și nu reflectă neapărat strategia organizațiilor respective.
Suntem încântați să prezentăm un nou plus la pharmaverse: {docorator}un pachet R dezvoltat de GSK pentru a facilita crearea de afișaje de producție în cadrul fluxurilor de lucru farmaceutice. Dacă ați petrecut vreodată ore întregi perfecționând un tabel sau o figură, doar pentru a vă lupta cu adăugarea anteturilor, subsolurilor și a marginilor perfecte pentru un produs lustruit, {docorator} ar putea fi pentru tine.
Pentru documentația completă, vizitați site-ul aici: https://gsk-biostatistics.github.io/docorator/
Ce este docorator?
Numele pachetului, {docorator}semnifică funcționalitatea sa de bază: decora şi ieșire. Pachetul preia TLG-uri generate de pachetele populare R, cum ar fi {gt} (și prin extensie {tfrmt} şi {gtsummary}) și {ggplot2} și le „decorează” cu anteturi, subsoluri etc. personalizate în ieșiri pregătite pentru producție.
The {docorator} pachetul este construit pe o fundație de reproductibilitate și flexibilitate prin cadrul său de redare multiplă. În timp ce principalul și cel mai robust motor de randare este PDF (folosind Rmarkdown/Quarto și LaTeX intern), este disponibil și suportul RTF de bază, cu cadrul de bază conceput pentru extinderea la alte formate de ieșire în viitor.
Cum docorator completează pharmaverse
Acest pachet poate fi considerat complementar cu pachetele pharmaverse {clinify} şi {gridify}. Oferă o opțiune suplimentară pentru utilizatorii R care doresc să îndeplinească cerințele organizaționale pentru anumite tipuri de ieșiri, precum și anteturi, subsoluri, margini și dimensiuni standardizate. O caracteristică cheie a {docorator} este suportul său PDF cu valori de tabel încorporate. Prin randarea în PDF prin RMarkdown/Quarto și LaTeX, valorile afișate devin încorporate în documentul PDF, ceea ce îmbunătățește trasabilitatea. Pentru {gt} în special tabele, scalarea automată a tabelelor (adică redimensionarea coloanei) este aplicată implicit pentru a ajuta la adaptarea afișajului la spațiul disponibil.
Exemplu: randare PDF
Procesul de redare a unui afișaj implică doi pași principali:
-
Creați o
docoratorobiect: Acest pas foloseșteas_docorator()funcție pentru a adăuga anteturi, subsoluri și alte elemente de stil. -
Redați o ieșire: Un simplu apel de funcție generează documentul final.
Mai jos este un exemplu ilustrativ:
# This code assumes a display object called `t_demog` has been created
t_demog |>
as_docorator(
display_name = "t_demog",
display_loc = "path/to/output/folder",
header = fancyhead(
fancyrow(left = "Study ABC123", center = NA, right = doc_pagenum()),
fancyrow(left = "Safety Population", center = NA, right = NA),
fancyrow(left = NA, center = "Demographic Summary", right = NA)
),
footer = fancyfoot(
fancyrow(left = "path/to/t_demog.R", right = doc_datetime())
)
) |>
render_pdf()
Rețineți că anteturile și subsolurile sunt specificate prin intermediul header şi footer argumente folosind fancyhead() şi fancyfoot() funcții, respectiv. Aceste funcții, inspirate de (și pentru PDF, alimentate de) fancyhdr Biblioteca LaTeX, permite utilizatorilor să adauge în mod flexibil mai multe rânduri de anteturi și/sau subsoluri cu text aliniat la stânga, la centru și/sau la dreapta. Rândurile de anteturi/subsoluri sunt adăugate prin intermediul fancyrow() funcție care are argumente pentru unde ar trebui adăugat textul personalizat.
Iată rezultatul:
.
Exemplu: randări multiple
În domeniul farmaceutic, este foarte obișnuit ca afișajele să fie utilizate în mai multe rapoarte, prezentări și diferite sisteme din aval. {docorator} este conceput pentru reutilizare, oferind mai multe caracteristici puternice:
- Capacitate de redare multiplă: Utilizatorii pot randa la mai multe tipuri de ieșire folosind sintaxa pipeabilă.
# Continuing from the previous example:
t_demog |>
as_docorator(
display_name = "t_demog",
display_loc = "path/to/output/folder",
header = fancyhead(
fancyrow(left = "Study ABC123", center = NA, right = doc_pagenum()),
fancyrow(left = "Safety Population", center = NA, right = NA),
fancyrow(left = NA, center = "Demographic Summary", right = NA)
),
footer = fancyfoot(
fancyrow(left = "path/to/t_demog.R", right = doc_datetime())
)
) |>
render_pdf() |>
render_rtf() # This will generate both PDF and RTF outputs
- The
docoratorartefact obiect:
Executarea as_docorator() nu redă imediat afișajul. În schimb, creează un docorator obiect care stochează toate informațiile relevante de afișare într-un .rds fişier. Acest obiect servește ca artefact pentru randarea viitoare sau alte cerințe în aval. Pentru exemplul de mai sus, t_demog.rds vor fi salvate în folderul „path/to/output/folder” alături de documentele de ieșire „t_demog.pdf” și „t_demog.rtf”.
O notă despre dependențele LaTeX
După cum se menționează în README, {docorator} necesită o instalare LaTeX pentru redarea PDF. Dacă se utilizează {tinytex}cel TinyTeX se recomandă pachetul, care poate fi instalat prin următorul cod:
tinytex::install_tinytex(bundle = "TinyTeX")
Luați legătura!
Reutilizați
Citare
citat BibTeX:
@online{krouse2025,
author = {Krouse, Becca},
title = {Introducing Docorator to the Pharmaverse},
date = {2025-12-19},
url = {https://pharmaverse.github.io/blog/posts/2025-12-19_introducing/introducing_docorator.html},
langid = {en}
}
Pentru atribuire, vă rugăm să citați această lucrare ca:
Krouse, Becca. 2025. „Prezentarea lui Docorator în Pharmaverse.” 19 decembrie 2025. https://pharmaverse.github.io/blog/posts/2025-12-19_introducing/introducing_docorator.html.
