Projektowanie prostych aplikacji w R przy użyciu SHINY
Prowadzący: dr Andrzej Romaniuk, Uniwersytet Edynburski
Warsztat będzie prowadzony przez Dr Andrzeja Romaniuka, absolwenta Uniwersytetu Warszawskiego (Mgr, Archeologia) i Uniwersytetu Edynburskiego (Mgr, Osteoarcheologia; Dr, Archeologia). Prócz pracy czysto naukowej, Dr Romaniuk regularnie pomaga przy szkoleniach online prowadzonych przez Edinburgh Data Carpentries (https://edcarp.github.io/) i mających na celu propagowanie wiedzy dotyczącej nowoczesnych metod pracy z danymi w instytucjach naukowych oraz w placówkach państwowych. Więcej o instruktorze na stronie instruktora.
Opis warsztatów
Czasami interpretowalny kod, wraz z wygenerowaną dokumentacją (np. tablice lub wizualizacje), może nie wystarczyć, by skutecznie przekazać rezultaty czyjejś pracy. Dzieje się tak zwłaszcza wtedy, gdy pewna doza aktywnej interakcji jest wymagana, by w pełni zrozumieć pozyskane dane, a odbiorca nie posiada odpowiedniej wiedzy o tym, jak napisać własny kod. Redukcja interakcji do pasywnego odbioru jest też często nużąca dla osób spoza kręgów akademickich, nie mających żadnego pojęcia o szerszym kontekście badań.
Problemy te można łatwo rozwiązać, dając odbiorcom narzędzia do eksploracji zarówno danych jak i uczestnictwa w procesie analizy, w formie interaktywnej aplikacji internetowej. Danie takich możliwości pozwala na organiczne zrozumienie, co właściwie oznaczają wykorzystane dane oraz metody i dlaczego autor dokonał konkretnych wyborów podczas analizy. Tworzenie dedykowanych aplikacji internetowych może również usprawnić same badania, zapewniając w łatwy sposób automatyzację regularnie używanych rozwiązań, bez potrzeby zmiany samego kodu w każdym przypadku.
Choć tworzenie aplikacji internetowych nie było oryginalnym celem, dzięki bibliotece SHINY i związanym z nią rozwiązaniom sieciowym stało się to jedną z coraz szybciej rozbudowywanych możliwości pakietu R w środowisku RStudio. SHINY to cała struktura rozwiązań do tworzenia i udostępniania/wdrażania aplikacji. Choć może to brzmieć skomplikowanie, jest to prawdopodobnie najłatwiejszy sposób na poznanie podstaw tworzenia aplikacji bez uprzedniej wiedzy o językach do tego używanych (np. JavaScript). Może być polecana zwłaszcza osobom regularnie pracującym w R, ale myślącym o dalszym rozwoju w kierunku właściwego programowania.
Warsztat jest zaadaptowany z tutorial’u, który instruktor napisał dla Centre for Data, Culture & Society, the University of Edinburgh (https://doi.org/10.5281/zenodo.5705151) i poszerzony o dodatkowe informacje. Składa się on z dwóch części. Celem pierwszej części jest przede wszystkim zapoznanie uczestników ze wszystkimi kluczowymi etapami tworzenia aplikacji internetowej w SHINY, z możliwością śledzenia budowania takiej aplikacji na żywo. Celem drugiej części jest stworzenie własnej, prostej aplikacji zawierającej wszystkie wymagane elementy i opublikowanie jej w skompilowanej formie poprzez ShinyApps.io, bądź w formie interpretowalnego kodu w RStudio poprzez stronę GitHub. Pod koniec warsztatu uczestnicy będą mieli funkcjonalne zrozumienie działania aplikacji webowych budowanych w SHINY, praktyczną wiedzę jak stworzyć od podstaw takie aplikacje, oraz jak dalej pogłębiać swoją wiedzę w tej tematyce.
Poziom:
Średnio-zaawansowany
Wymagania:
- Znajomość R (język programowania)
- Znajomość RStudio (graficzny interfejs dla R)
Obie umiejętności można zdobyć samemu w dość krótkim czasie, dzięki stronom takim jak np.: https://datacarpentry.org/r-socialsci/ lub https://datacarpentry.org/R-ecology-lesson/ dla szybkiego opanowania podstawowego materiału. https://benmarwick.github.io/How-To-Do-Archaeological-Science-Using-R/ do nauki różnych rozwiązań przydatnych w archeologii, w tym w GIS.
Po skończonych zajęciach uczestnik będzie umiał:
- Wiedza o pakiecie SHINY dla R i związanych z nim możliwościach
- Wiedza o podstawowej architekturze aplikacji internetowej
- Umiejętność zastosowania zdobytej wiedzy do stworzenia własnej aplikacji
- Wiedza o możliwościach udostępnienia stworzonych aplikacji online
- Umiejętność udostępniania aplikacji za pomocą platformy shinyapps.io lub Github
- Wiedza o dalszych możliwościach rozwoju pozyskanych umiejętności
Oprogramowanie lub narzędzia
- R
- R Studio
- Uprzednio ściągnięte biblioteki dla R (shiny, DT, shinythemes, ggplot2)