(Acest articol a fost publicat pentru prima dată pe R-posts.comș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.
În cercetarea în domeniul sănătății, o diagramă de flux este cea mai bună modalitate de a arăta fluxul de participanți la un studiu atunci când raportează rezultatele. Dar desenarea diagramelor de flux poate fi plictisitoare de pregătit și vă poate stârni nervii.
Din fericire, există mai multe pachete în R pentru desenarea diagramelor de flux folosind abordări diferite. Problema este că programarea este în general destul de complexă, iar numerele trebuie introduse manual sau parametrizate în prealabil. Aceste diagrame pot avea probleme reproductibile, deoarece dacă datele se modifică, trebuie să schimbăm manual din nou parametrii.
Pentru a ne ușura viața, există un nou pachet {flowchart} care utilizează fluxul de lucru tidyverse, care permite crearea multor tipuri diferite de diagrame de flux în doar câțiva pași.
https://bruigtp.github.io/flowchart
Pachetul oferă un set de funcții care sunt considerate a fi combinate cu un operator de conducte ordonat (%>%sau|>) pentru a crea diferite modele de diagrame direct din baza de date a studiului. Aceste funcții sunt extrem de personalizabile și permit utilizatorului să creeze diagrame de flux reproductibile într-un mod mai ușor și mai ordonat. Acum nu mai trebuie să setăm manual parametrii diagramei de flux precum coordonatele casetei sau numerele de afișat, deoarece se adaptează automat la datele pe care le avem.
De exemplu, putem crea o diagramă a întregului flux de studiu al participanților cu acest flux de lucru simplu și ordonat:
Aici, vom descrie acești pași care sunt implicați în crearea unei diagrame de flux în acest exemplu. Vom folosi sistemul încorporatsafoset de date, care vine cu pachetul, care este un set de date generat aleatoriu dinStudiu clinic SAFO. Pentru mai multe informații și alte exemple, puteți vizitavigneta pachetului.
Instalarea și încărcarea pachetului
Din martie 2024, pachetul este disponibil pe CRAN:
install.packages("flowchart")
Puteți instala oricând versiunea de dezvoltare de laGithub:
remotes::install_github("bruigtp/flowchart")
Inițializați diagrama de flux
Primul pas este inițializarea diagramei de flux cu funcțiaas_fc():
library(flowchart)
x <- safo |>
as_fc(label = "Patients assessed for eligibility")
Acest lucru va crea un obiect de clasăfcclasa creată pentru acest pachet. Obiectele acestei clase constau dintr-o listă care conține setul de date împreună cu informațiile legate de diagrama de flux generată. Să o vedem pentru exemplul nostru:
List of 2
$ data: tibble (925 × 21) (S3: tbl_df/tbl/data.frame)
$ fc : tibble (1 × 17) (S3: tbl_df/tbl/data.frame)
- attr(*, "class")= chr "fc"
Thedatatibble aparține întregului set de date SAFO, deoarece nu am mai efectuat operațiuni:
# A tibble: 925 × 21
id inclusion_crit exclusion_crit chronic_heart_failure expected_death_24h
1 1 Yes No No No
2 2 No No No No
3 3 No No No No
4 4 No Yes No No
5 5 No No No No
6 6 No Yes No No
7 7 No No No No
8 8 No Yes No Yes
9 9 No No No No
10 10 No No No No
# ℹ 915 more rows
# ℹ 16 more variables: polymicrobial_bacteremia ,
# conditions_affect_adhrence , susp_prosthetic_valve_endocard ,
# severe_liver_cirrhosis , acute_sars_cov2 ,
# blactam_fosfomycin_hypersens , other_clinical_trial ,
# pregnancy_or_breastfeeding , previous_participation ,
# myasthenia_gravis , decline_part , group , itt , …
Thefctibble reprezintă informațiile din diagrama de flux generată, care conține doar o primă casetă inițială care indică numărul total de pacienți evaluați pentru eligibilitate în studiul SAFO:
# A tibble: 1 × 17
id x y n N perc text type group just text_color text_fs
1 1 0.5 0.5 925 925 100 "Pat… init NA cent… black 8
# ℹ 5 more variables: text_fface , text_ffamily , text_padding ,
# bg_fill , border_color
Desenarea organigramei
Putem folosi întotdeaunafc_draw()funcția de a desena diagrama asociată din afcobiect:
Construirea diagramei de flux
Pentru a construi întreaga diagramă, ar trebui să combinăm cele inițializatefcobiect cu funcţiile dorite până când obţinem organigrama finală.
A doua casetă care arată pacienții excluși de la randomizare poate fi obținută folosindfc_filter()funcţie:
cushow_exc = TRUEpentru a afișa și caseta cu subiectul exclus. Acum$dataconţine baza de date filtrată numai pentru subiecţii randomizaţi în timp ce$fcconține informațiile pentru aceste noi casete.
Acum, putem împărți diagrama de flux în funcție de grupul de studiu, folosindfc_split()funcţie:
Ideea este de a combina aceste funcții de bază, fc_filter()şifc_split(), în orice fel dorim să creăm organigrama dorită. Diagrama rezultată poate fi personalizată și îmbunătățită în continuare folosindfc_modify()sau combinat cu alte organigrame orizontal sau vertical folosind funcțiafc_merge()şifc_stack()funcții, respectiv. În cele din urmă, odată ce diagrama finală este desenată, aceasta poate fi exportată în formatul de imagine dorit folosind fc_export() funcţie.
Mai multe informații despre aceste caracteristici și alte exemple pot fi găsite pe site-ul web al pachetului:https://bruigtp.github.io/flowchart/.
Diagramele de flux simplificate cu pachetul {flowchart} au fost postate pentru prima dată pe 17 ianuarie 2025 la 6:16 pm.