Samouczek R Shiny: Jak tworzyć interaktywne aplikacje internetowe w R

Opublikowany: 2020-03-16

Spis treści

Wstęp

W tej nowoczesnej erze technologicznej różne aplikacje są dostępne dla nas wszystkich – od śledzenia naszego poziomu sprawności, snu po dostarczanie nam najnowszych informacji o giełdach. Aplikacje takie jak Robinhood, Google Fit i Workit wydają się niezwykle przydatne, ponieważ wykorzystują dane i statystyki w czasie rzeczywistym. Ponieważ R jest liderem w dziedzinie obliczeń statystycznych i programowania, programiści potrzebują systemu do tworzenia aplikacji. Dowiedz się więcej o programowaniu w języku R.

To tutaj R Shiny przychodzi, aby uratować sytuację. W tym samouczku R Shiny poznasz podstawy.

Co to jest R błyszczące?

Shiny to pakiet R, który został opracowany do tworzenia interaktywnych aplikacji internetowych w R . Korzystając z tego, możesz tworzyć aplikacje internetowe wykorzystujące natywny kod HTML i CSS wraz z kodem R Shiny. W witrynie można tworzyć samodzielne aplikacje internetowe, które ułatwią wizualizację danych. Te aplikacje utworzone za pośrednictwem R Shiny mogą bezproblemowo wyświetlać obiekty R, takie jak tabele i wykresy.

Przyjrzyjmy się niektórym funkcjom R Shiny:

  • Twórz aplikacje internetowe z mniejszą liczbą wierszy kodu, bez JavaScript.
  • Te aplikacje działają i są dostępne dla użytkowników, takich jak arkusze kalkulacyjne. Wyjścia mogą zmieniać się w czasie rzeczywistym, jeśli użytkownicy zmienią dane wejściowe.
  • Deweloperzy z niewielką wiedzą na temat narzędzi internetowych mogą również tworzyć aplikacje przy użyciu R Shiny.
  • Otrzymujesz wbudowane widżety do wyświetlania tabel, wyników obiektów R i wykresów.
  • Za pomocą tego pakietu można dodawać do aplikacji internetowej wizualizacje i raporty na żywo.
  • Interfejsy użytkownika mogą być zakodowane w R lub mogą być przygotowane za pomocą HTML, CSS lub JavaScript.
  • Domyślny interfejs użytkownika jest zbudowany przy użyciu Bootstrap.
  • Jest dostarczany z pakietem WebSocket, który umożliwia szybką komunikację między serwerem WWW a R.

Przeczytaj: Drzewo decyzyjne w R

Składniki aplikacji R Shiny

Aplikacja Shiny ma dwa podstawowe komponenty — obiekt interfejsu użytkownika i funkcję serwera. To są argumenty przekazywane do metody shinyApp . Ta metoda tworzy obiekt aplikacji przy użyciu argumentów.

Dowiedz się nauki o danych z najlepszych światowych uniwersytetów. Zdobywaj programy Executive PG, Advanced Certificate Programs lub Masters Programs, aby przyspieszyć swoją karierę.

Przeczytaj także: Algorytm KNN w R

Pozwól nam szczegółowo zrozumieć podstawowe części aplikacji R Shiny :

Funkcja interfejsu użytkownika

Ta funkcja określa wygląd aplikacji internetowej. Czyni aplikację interaktywną poprzez pozyskiwanie danych wejściowych od użytkownika i wyświetlanie ich na ekranie. Znaczniki HTML i CSS mogą służyć do poprawiania wyglądu aplikacji. Tak więc podczas budowania pliku ui.R tworzysz plik HTML z funkcjami R.

Jeśli wpiszesz fluidPage() w konsoli R, zobaczysz, że metoda zwraca tag <div class=”container-fluid”></div>.

Różne funkcje wejściowe to:

  • selectInput () — ta metoda służy do tworzenia rozwijanego kodu HTML, który ma różne opcje do wyboru.
  • numericInput () — ta metoda tworzy obszar wprowadzania do wpisywania tekstu lub liczb.
  • radioButtons () — zapewnia użytkownikowi przyciski radiowe umożliwiające wybór wejścia.

Metody układu

Różne funkcje układu dostępne w Bootstrap zostały zaimplementowane przez R Shiny. Składniki to:

Panele

Są to metody, które grupują elementy w jeden panel. Obejmują one:

  • panel bezwzględny()
  • inputPanel()
  • panel warunkowy()
  • panel nagłówka()
  • naprawionoPanel()

Funkcje układu

Organizują one panele dla określonego układu. Obejmują one:

  • płynny wiersz()
  • Układ pionowy()
  • Układ przepływu()
  • podzielonyUkład()
  • Układ paska bocznego()

Metody wyjściowe

Te metody są używane do wyświetlania obrazów, tabel i wykresów komponentów wyjściowych R. Oni są:

  • tableOutput() – Ta metoda służy do wyświetlania tabeli R
  • plotOutput() – Ta metoda służy do wyświetlania obiektu wykresu R

Funkcja serwera

Po utworzeniu wyglądu aplikacji i sposobów pobierania wartości wejściowych od użytkownika, czas na skonfigurowanie serwera. Funkcje serwera pomagają pisać kod po stronie serwera dla aplikacji Shiny. Możesz tworzyć funkcje, które mapują wejścia użytkownika do odpowiednich wyjść. Ta funkcja jest wywoływana przez przeglądarkę internetową podczas ładowania aplikacji.

Pobiera parametr wejściowy i wyjściowy, a zwracane wartości są ignorowane. W tej metodzie pobierany jest również opcjonalny parametr sesji.

Samouczek R Shiny: Jak zacząć korzystać z R Shiny?

Kroki, aby rozpocząć pracę z pakietem R Shiny, są następujące:

  • Przejdź do konsoli R i wpisz polecenie – install.packages(„błyszczące”)
  • Pakiet zawiera 11 przykładów wbudowanych aplikacji, które pomogą Ci zrozumieć, jak działa Shiny

Możesz zacząć od przykładu Hello Shiny , aby zrozumieć podstawową strukturę. Wpisz ten kod, aby uruchomić Hello Shiny:

biblioteka (błyszcząca)

runExample(„01_hello”)

Kroki tworzenia nowej aplikacji Shiny to:

  • Otwórz RStudio i przejdź do opcji Plik
  • Wybierz New Project w katalogu i kliknij aplikację „Shiny Web”
  • Otrzymasz histogram i suwak do testowania zmian danych wyjściowych w odniesieniu do danych wejściowych
  • Otrzymasz dwa skrypty ui.R i server.R do kodowania i dostosowywania aplikacji

Wskazówki dotyczące tworzenia aplikacji Shiny

  • Przetestuj aplikację w przeglądarce, aby zobaczyć, jak wygląda przed wysłaniem jej do produkcji
  • Uruchom cały skrypt podczas debugowania aplikacji
  • Uważaj na typowe błędy, takie jak przecinki

Wniosek

Jeśli chcesz dowiedzieć się więcej o data science, sprawdź nasz program Executive PG w Data Science , który jest stworzony dla pracujących profesjonalistów i oferuje ponad 10 studiów przypadków i projektów, praktyczne warsztaty praktyczne, mentoring z ekspertami branżowymi, 1 na 1 z mentorami branżowymi, ponad 400 godzin nauki i pomocy w pracy z najlepszymi firmami.

Najlepsze w Shiny jest to, że nie musisz znać HTML, CSS ani JavaScript, aby go używać. Co więcej, możesz tworzyć aplikacje i wdrażać je w bezpłatnej wersji shinyapps.io. Zachowaj ten samouczek R Shiny pod ręką na początku.

Jakie są zalety R Shiny?

Każdy naukowiec zajmujący się danymi musi skorzystać z pewnych narzędzi, aby przedstawić opinii publicznej spostrzeżenia z danych. Shiny to pakiet dostępny w R do tworzenia interaktywnych aplikacji internetowych. Masz wiele opcji przekazywania wyników za pomocą tekstów, tabel, wizualizacji lub interaktywnych wykresów. Jeśli znasz programowanie w języku R, możesz łatwo opracować aplikację, ponieważ Shiny jest dość łatwy w użyciu. Wbudowane funkcje ułatwiają udostępnianie swojej pracy znajomym i współpracownikom. Projekt aplikacji Shiny jest niesamowity. Nawet jeśli patrzysz na domyślny wyświetlacz, okaże się, że jest dość intuicyjny i elegancki.

Czym Shiny różni się od tradycyjnych aplikacji?

Zrozummy to lepiej na przykładzie aplikacji pogodowej. Za każdym razem, gdy użytkownik ponownie załaduje stronę lub nawet zmieni mały wpis na stronie, aplikacja będzie musiała zaktualizować całą stronę za pomocą JS. Spowoduje to znaczne obciążenie po stronie serwera w celu przetworzenia aktualizacji.

Z drugiej strony Shiny wyizoluje lub przeładuje elementy aplikacji, które zmniejszają obciążenie serwera. Struktura będzie odgrywać bardzo ważną rolę w zrozumieniu, a także debugowaniu kodu. Okazuje się, że przewijanie aplikacji internetowych jest nieco trudne w przypadku aplikacji Shiny w porównaniu z tradycyjnymi aplikacjami.

Czy trudno się nauczyć R Shiny?

Framework Shiny to pakiet dostępny w języku R, który jest przydatny do tworzenia interaktywnych aplikacji internetowych. Pakiet jest wspaniały, ponieważ pozwala na tworzenie wysoce efektywnych wizualizacji i raportów na podstawie dostępnych zbiorów danych. Oprócz używania elementów Shiny, możesz również użyć elementów HTML, aby dostosować zawartość aplikacji.

Mimo że Shiny jest dość potężnym narzędziem, łatwo się go nauczyć, jeśli jesteś świadomy programowania w R. Zaleca się, aby nauczyć się R Shiny, jeśli myślisz o dodaniu czegoś kreatywnego do swojego portfolio.