Czego używasz do generowania pulpitu nawigacyjnego w języku R?

17

Muszę generować okresowe (dzienne, miesięczne) raporty pulpitu nawigacyjnego analityki internetowej. Będą one statyczne i nie będą wymagały interakcji, więc wyobraź sobie plik PDF jako docelowy wynik. Raporty będą mieszać tabele i wykresy (głównie wykresy przebiegu w czasie i wykresy punktowe utworzone za pomocą ggplot2). Pomyśl o pulpitach nawigacyjnych w stylu Stephen Few / Perceptual Edge, takich jak:przykładowy pulpit nawigacyjny

ale zastosowane do analityki internetowej.

Wszelkie sugestie dotyczące tego, jakich pakietów użyć przy tworzeniu raportów na pulpicie nawigacyjnym?

Moją pierwszą intuicją jest użycie markdown R i knitr, ale być może znalazłeś lepsze rozwiązanie. Nie mogę znaleźć bogatych przykładów kokpitów generowanych z R.

Shadowtalker
źródło
Proponuję zastępując untaggedtag z r, dashboards, reportslub podobny.
Aleksandr Blekh
Czy utworzyłeś ten pulpit nawigacyjny jak opisano powyżej? Chciałbym rzucić okiem na kod!
Kare

Odpowiedzi:

15

Myślę, że Shinyw tej sytuacji jest to przesada i nie spełnia wymagań dotyczących statycznych raportów na pulpicie nawigacyjnym . Wydaje mi się, że użycie terminu „deska rozdzielcza” jest nieco mylące, ponieważ niektórzy ludzie mogą uznać, że ma większy nacisk na interaktywność ( pulpity nawigacyjne w czasie rzeczywistym ), a nie na układ informacji , jak to rozumiem (potwierdzone przez „ wymaganie statyczne).

Radzę ci użyć R Markdown i knitr , zwłaszcza, że ​​te pakiety mają znacznie niższą krzywą uczenia się niż Shiny . Ponadto ostatnio natknąłem się na pakiet R, który moim zdaniem idealnie odpowiada twojemu wymaganiu umieszczania małych wykresów / wykresów w raporcie, jak pokazano na twoim zdjęciu powyżej. Ten pakiet generuje statyczne lub dynamiczne tabele graficzne i nazywa się sparkTable ( http://cran.r-project.org/web/packages/sparkTable ). Jego winieta jest dostępna tutaj (nie ma linku do niej na stronie głównej pakietu): http://publik.tuwien.ac.at/files/PubDat_228663.pdf . Jeśli kiedykolwiek potrzebujesz interaktywności ,sparkTablezapewnia niektóre za pośrednictwem prostego interfejsu do Shiny.

Aleksandr Blekh
źródło
Nie wiedziałem o sparkTable, wygląda na świetne narzędzie do pracy.
shadowtalker
@ssdecontrol: Do niedawna też o tym nie wiedziałem. Z pewnością wygląda na świetne narzędzie. Z niecierpliwością czekam na wypróbowanie go w moim projekcie, jeśli będę miał potrzebę i okazję.
Aleksandr Blekh
9

Shiny to platforma do generowania aplikacji opartych na HTML, które wykonują kod R dynamicznie. Błyszczące aplikacje mogą być samodzielne lub wbudowane w dokumenty Markdown knitr, a program Shiny jest w pełni zintegrowany z RStudio. Istnieje nawet bezpłatna usługa o nazwie shinyapps.io do hostingu Błyszczących aplikacji, shinypakiet ma funkcje wdrażania Błyszczących aplikacji bezpośrednio z R, a RStudio ma interfejs GUI do wywoływania tych funkcji. W sekcji Samouczek witryny znajduje się znacznie więcej informacji.

Ponieważ zasadniczo „kompiluje” całość do JavaScript i HTML, możesz użyć CSS do swobodnej zmiany formatowania i układu, chociaż Shiny ma do tego przyzwoitą funkcjonalność opakowania. Ale zdarza się, że ich domyślna kolorystyka jest podobna do tej na zrzucie ekranu.

edycja: Właśnie zdałem sobie sprawę, że nie potrzebujesz ich dynamiki. Shiny nadal tworzy bardzo ładne strony internetowe po wyjęciu z pudełka, z dużą ilością opcji zmiany układu elementów. Istnieje również funkcja pobierania wykresów, dzięki czemu możesz generować pulpit nawigacyjny co miesiąc, po prostu aktualizując pliki danych w aplikacji, a następnie zapisując wynikowy obraz w formacie PDF.

Shadowtalker
źródło
2

Uważam, że opcja Flex Dashboard jest całkiem fajna, interaktywna i łatwa w użyciu. Spróbuj, może ty też.

W międzyczasie możesz również spróbować tych.

Mam nadzieję, że to pomoże! (Zaktualizuj mnie, jeśli dostaniesz coś jeszcze lepszego.)

Abhishek Jaiswal
źródło
1

Musiałem stworzyć internetowy pulpit nawigacyjny. Moim głównym narzędziem do tworzenia wykresów był d3js. Ale musiałem użyć ggplot2, aby wygenerować kilka wykresów. Poprzez rozszerzenie ggplot2 d3js mogłem stworzyć to samo. Jeśli Twoje wykresy mogą być generowane za pomocą istniejącego rozszerzenia, sieć ma lepsze alternatywy. Później możesz je wyeksportować do formatu PDF w celu dystrybucji.

Vikram
źródło
1

Możesz wypróbować ShinyDashboard i pominąć wszelkie interaktywne aspekty. Moim zdaniem nadal miło jest pozwolić użytkownikom na powiększanie wykresów lub wyszukiwanie określonych wartości w kolumnie. Shiny pozwoli ci to zrobić.

Stereofoniczny
źródło