Gerne beraten wir Sie auch telefonisch & geben Ihnen eine kostenfreie persönliche Auskunft zu Ihrem Projekt.

X

Wie Sie R Shiny für Data Science nutzen können

Data Science nutzt Analysewerkzeuge und Analysemethoden, wie zB. Dashboards, um Erkenntnisse aus Daten zu ermitteln und darzustellen. Solche Dashboards, wie etwas das R Shiny Dashboard, dienen als Reporting- und Visualisierungstool, das diese Ergebnisse auf einer Webseite optimiert präsentiert. Bei R Shiny handelt es sich ein auf der Programmiersprache R basierendes Framework. Die Entwicklung der Web-Anwendung findet in R statt und hierfür sind keine Programmierkenntnisse erforderlich.

Sie benötigen ein R Shiny Dashboard auf Ihrer Webseite bzw. wollen eine Auswertung ihrer Daten mithilfe von R durchführen? – Unsere Data Scientists von Novustat beraten Sie gerne bei der Entwicklung einer R Shiny App für Ihre Analysen.

Lassen Sie uns Ihre Anforderungen wissen & wir erstellen Ihnen innerhalb weniger Stunden ein kostenfreies Angebot.


Jetzt unverbindlich anfragen

In diesem Artikel zeigen wir Ihnen, wie Sie ein Shiny Dashboard mittels R Shiny erstellen und auf welche grundlegenden Dinge Sie achten sollten, wenn Sie R Shiny für ihr Data Science Projekt nutzen wollen. Und das ohne große Programmierfähigkeiten.

Was ist R Shiny?

Bei Shiny handelt es sich um eine Technologie, mit deren Hilfe sich Unternehmensanalysen ohne Programmierkenntnisse in interaktive Web-Anwendungen verwandeln lassen. Die Relaiserung des Deployments der Web-Anwendungen erfolgt mithilfe des Shiny Servers. Dieser ist entweder als Open Source oder Enterprise-Variante erhältlich. Auf diese Web-Anwendungen kann im Intranet eines Unternehmens und über das Internet zugegriffen werden. Auch optisch lassen sich diese Web-Anwendungen in R an die Corporate Identity eines Unternehmens anpassen.

Bei R Shiny handelt es sich also um ein HTML5/CSS/JavaScript-Framework, welches auf der Programmiersprache R basiert. Mit diesem Framework lassen sich Cross-Device Web-Anwendungen mit R Backend erzeugen und publizieren. Analyseresultate mutieren so zu interaktiven Web-Anwendungen, die schließlich, wie einleitend erwähnt, auf einer (unternehmenseigenen) Webseite veröffentlicht werden.

Data Science mit R Shiny

Data Science ist eine disziplinübergreifende Wissenschaft für die Vereinheitlichung von Statistik, Datenanalyse und Informatik. Mithilfe von Daten lassen sich reale Phänomene abbilden und analysieren, um bestimmte Zusammenhänge (beispielsweise von Wetter und Korrosion) zu ermitteln.

Bei Data Science handelt es sich also um ein Methodenwerkzeug zur Analyse und Präsentation von unternehmenseigenen Daten. Diese können auch für die Visualisierung und das Überwachen unternehmenseigener Leistungskennzahlen genutzt werden. Auf diese Art lassen sich Erkenntnisse für Unternehmensentscheidungen optimaler treffen und Prognosen hinsichtlich der künftigen Entwicklung von Leistungs- und anderer Kennzahlen durchführen.

Unternehmen möchten mithilfe von Data Science Analysen und Web-Anwendungen nicht nur die Wahrscheinlichkeit prognostizieren, ob ein bestimmtes Ereignis eintritt, sondern wollen zudem auch den Zeitpunkt des Eintretens bestimmen. Im Personalmanagement ist beispielsweise der Zeitraum zwischen dem Onboarding und der Kündigung eines Arbeitsplatzes von Bedeutung.

Dies ist auch im Zusammenhang mit der Wartung von Maschinen hinsichtlich des Ausfallzeitpunkts von Maschinenteilen interessant. Diese Zeiträume lassen sich mithilfe von Überlebenszeitanalysn ermitteln. In der Regel werden dafür die Kaplan-Meier-Kurve bzw. Kaplan-Meier-Plot sowie die mediane Überlebenszeit und die Hazard Ratio genutzt.

R Shiny Dashboard

Für die Ersellung eines R Shiny Dashboards bestehen zwei Optionen, konkret das flexdashboard und das shinydashboard. Bei der ersten Variante handelt es sich um ein einfaches interaktives Dashboard, mit deren Hilfe eine Gruppe verwandter Datenvisualisierungen veröffentlicht werden kann.

R Dashboards unterstützen viele Komponenten inklusive HTML-Widgets, Basis-Gitter sowie Gittergrafiken, Tabellendaten, Messgeräte und Wertboxen sowie Anmerkungen in Textform. Zudem sind diese flexibel und einfach mithilfe von zeilen- und spaltenbasierten Layouts zu spezifizieren. Weiters lassen sich R Dashboards einfach für die mobile Anzeige optimieren.

Die zweite Dashboard-Version ist jene Dashboard-Form, die üblicherweise Unternehmen nutzen. Diese besteht aus einer Kopfzeile (dashboardHeader), einer Seitenleiste (dashboardHeader) sowie einem Textkörper (dashboardBody), wie am folgenden R-Code zu erkennen ist.

## ui.R ##library(shinydashboard)

dashboardPage(
  dashboardHeader(),
  dashboardSidebar(),
  dashboardBody()
)

Mithilfe der Funktion shinyApp() lässt sich das Dashboard in der R-Konsole wie folgt anzeigen:

## app.R ##library(shiny)library(shinydashboard)

ui <- dashboardPage(
  dashboardHeader(),
  dashboardSidebar(),
  dashboardBody()
)
server <- function(input, output) { }
shinyApp(ui, server)

Mit diesem Code wird allerdings nur ein Blanko-Dashboard angezeigt. Dieses gilt es mithilfe weiterer Code-Snippets zu erweitern, um in der Folge das Visualisieren der Daten zu ermöglichen.

## app.R ##library(shinydashboard)

ui <- dashboardPage(
  dashboardHeader(title = "Basic dashboard"),
  dashboardSidebar(),
  dashboardBody(
    # Boxes need to be put in a row (or column)
    fluidRow(
      box(plotOutput("plot1", height = 250)),

      box(
        title = "Controls",
        sliderInput("slider", "Number of observations:", 1, 100, 50)
      )
    )
  )
)

server <- function(input, output) {
  set.seed(122)
  histdata <- rnorm(500)

  output$plot1 <- renderPlot({
    data <- histdata[seq_len(input$slider)]
    hist(data)
  })
}

shinyApp(ui, server)

Nun enthält das Dashboard Angaben zur Anzahl der Beobachtungen (number of observations) sowie einen Schieberegler, der sich – siehe Abbildung unten rechts – zwischen 1 (einer Beobachtung) und 100 (100 Beobachtungen) hin- und herschieben lässt.

als nächsten Schritt kann die Sidebar hinzugefügt werden. Um zu gewährleisten, dass sich diese wie Registerkarten eines Webseitenmenüs verhalten, müssen die Sidebar-Elemente menuItems sowie analog dazu die tabNames addiert werden.

Dies veranschaulicht nachfolgender Code:

## Sidebar content
  dashboardSidebar(
    sidebarMenu(
      menuItem("Dashboard", tabName = "dashboard", icon = icon("dashboard")),
      menuItem("Widgets", tabName = "widgets", icon = icon("th"))
    )
  )
## Body content
  dashboardBody(
    tabItems(
      # First tab content
      tabItem(tabName = "dashboard",
        fluidRow(
          box(plotOutput("plot1", height = 250)),

          box(
            title = "Controls",
            sliderInput("slider", "Number of observations:", 1, 100, 50)
          )
        )
      ),

      # Second tab content
      tabItem(tabName = "widgets",
        h2("Widgets tab content")
      )
    )
  )

Das Dashboard wurde nun um die Sidebar erweitert und gestaltet sich wie folgt:

Abbildung: R Shiny Dashboard mit Sidebar

Fazit

In diesem Artikel wurde die Erstellung von R Shiny Dashboards und Web-Anwendungen für Data Science Analysen vorgestellt. Wie erwähnt, können solche Dashboards eine nützliche und aussagekräftige Grundlage für die Visualisierung von Analysen und Erkenntnissen auf der unternehmenseigenen Webseite sein.

Für weitere Informationen zu R Shiny Dashboards sowie Web-Anwendungen oder zu Datenanalysen aller Art stehen Ihnen die Data Scientists von Novustat gerne zur Verfügung. Nutzen Sie für eine unverbindliche Anfrage unser Kontaktformular.

Weiterführende Quellen

Jetzt Anrufen Jetzt anfragen