Despre gramatica graficii am mai vorbit, dar observ că oamenii din comunitatea limbajului R sunt tot mai interesați și de modul în care sunt prezentate datele, pentru că și-au făcut timp să lanseze un pachet pentru… gramatica tabelelor.
Statisticienii care au creat limbajul R în urmă cu 20 de ani (dacă socotim numai de când a apărut prima versiune finală, că de la proiectare sunt 28 de ani), nu erau prea interesați pe atunci de aspectul grafic. Mă bucur să văd că acest lucru se schimbă!
Ieri a fost lansat în comunitatea oficială CRAN pachetul gt, care ne dă posibilitatea să customizăm tot ce înseamnă aspect grafic al unui tabel. În prezent se află la versiunea 0.2, dar deja ne oferă un numă impresionant de funcții pentru personalzarea tabelului, a unor părți din acesta, a datelor, coloanelor, rândurilor, imaginilor și nu numai.
Când suntem mulțumiți de forma la care am ajuns, același pachet ne dă posibilitatea să exportăm în HTML sau în diverse formate de imagini, cu promisiunea că vom avea mai multe opțiuni în versiunile următoare.
Dar să luăm un exemplu! Evident, datele sunt din Google Analytics 🙂
Așadar, iată cum arată inițial un tabel de date în R:
După simpla aplicare a funcției gt()
, deci treabă de câteva secunde, va arăta așa:
După ce adăugăm titlu și subtitlu în header, sursa în partea de jos și linii între rânduri și celule, va arăta așa:
Este un prim exemplu cu care m-am jucat. Desigur, se pot face mult mai multe personalizări și poate include palete de culori, dar asta înseamnă apelarea la alte pachete și am vrut să țin lucrurile cât mai simple. La fel, am în tabel coloane care nu arată deloc bine (în special cea cu datele calendaristice), dar asta se rezolvă din nou, cu un pachet special și nu am vrut să apelez aici la alte pachete.
Nu este ceva extraordinar, dar sunt încântat de ce am reușit să fac cu doar câteva linii de cod, scrise în câteva minute. Aștept să descopăr și alte funcții din gt.
Acesta este codul pe care l-am scris pentru customizarea tabelului și afișarea sa:
gt_analytics_data <- analytics_data %>% gt() %>% tab_header( title = md("**Raport săptămânal vânzări online**"), subtitle = "Perioada 1 - 7 aprilie 2020" ) %>% tab_source_note( source_note = md("Sursa: Google Analytics, *contul Demo*") ) %>% opt_table_lines("all") gt_analytics_data