Version [93246]
Dies ist eine alte Version von TutoriumGrundlagenStatistikLinegraph1 erstellt von FabianEndres am 2019-01-22 18:58:55.
Als erste Aufgabe wird ein Linegraph oder auch im deutschen Kantengraph erstellt.
Hierfür werden drei R-Dateien erstellt. (app.R, server.R, ui.R)
server.R
Wir beginnen mit der server.R Datei. Hier werden zu Beginn die 2 Bibliotheken shiny und ggplot2 geladen.
Anschließend wird eine Funktion dem Objekt server zugewiesen und ein Datensatz dem Objekt data zugewiesen.
Der Datensatz airquality wird standardmäßig in R Studio zu Testzwecken mitgeliefert.
library(shiny)
library(ggplot2)
server <- function(input, output) {
data <- airquality[c('Wind', 'Temp', 'Month', 'Day')]
output$yAxis <- renderUI({
radioButtons(inputId = 'yAxis', label = 'Attribut für y-Achse',
choiceNames = c('Wind', 'Temperatur'), choiceValues = c('Wind', 'Temp'),
selected = 'Wind'
)
})output$month <- renderUI({
sliderInput(inputId = 'month', label = 'Monat',
min = min(data['Month']), max = max(data['Month']), step = 1,
value = min(data['Month'])
)
})output$day <- renderUI({
sliderInput(inputId = 'day', label = 'Tag',
min = 1, max = max(data$Day[data$Month input$month]), step = 1,
input$month]), step = 1,
value = c(1, max(data$Day[data$Month
input$month]))
)
})output$lineGraph <- renderPlot({
p <- ggplot(data[data$Month input$month, ][c(input$day[1]:input$day[2]), ]) +
input$month, ][c(input$day[1]:input$day[2]), ]) +
coord_cartesian()
if(input$yAxis
'Wind')
p <- p + geom_line(aes(Day, Wind))
else if(input$yAxis 'Temp')
'Temp')
p <- p + geom_line(aes(Day, Temp))
p
})}
ui.R
Die ui dient als Userinterface und stellt die Gewünschten Schieberegler dar. Auch den finalen Plot zeigt uns erst die ui.
ui <- fluidPage(
titlePanel("Old Faithful Geyser Data"), hier wird der Titel für die Seite angegeben
sidebarLayout(
sidebarPanel(
htmlOutput('yAxis'),
htmlOutput('month'),
htmlOutput('day')
),
mainPanel(
plotOutput('lineGraph')
)
))
app.R
Hier werden die zwei externen Dateien server.R und ui.R geladen und zu einer shinyApp zusammengefasst.
source('server.R', encoding = "UTF-8")
source('ui.R', encoding = "UTF-8")
shinyApp(ui = ui, server = server)
File | Last modified | Size |
---|---|---|
Linegraph1.jpg | 2023-10-06 18:37 | 45Kb |
Linegraph1.txt | 2023-10-06 18:37 | 2Kb |
Linegraph2.jpg | 2023-10-06 18:37 | 49Kb |
<< Zurück | >> Weiter |
<< Zurück zur Übersicht: Tutorium Grundlagen Statistik
CategoryTutorienFKITWS1819