Please mind that this is a question from a total Shinyapp beginner. Im trying to practice for my exam and just can't figure this out my self (I've researched a lot but it just doesn't make sense in my mind)
library(shiny)
library(ggplot2)
library(dplyr)
#Creating the title and an Output with the id "exampleOne"
ui <- fluidPage(
titlePanel("Titanic"),
plotOutput(outputId = "exampleOne")
)
server <- function(input, output) {
output$exampleOne <- renderPlot({
#opening my dataset of the titanic, mutating the data for the next step
titanic <- read.csv("titanic_data.csv",header = TRUE, sep=",")
newdata <- mutate(titanic, Status = ifelse (Survived > 0,
'Survived',
'Dead'))
#Trying to create a graph, that shows how many people survived/died separated by sex
ggplot( newdata,
aes(x = Sex, fill = Status))
geom_bar(position = "fill")
labs(y= "Proportion")
})
}
shinyApp(ui = ui, server = server)
As I already said I'm a total beginner and totally lost! R and Shiny are kind of not my thing I still hope someone can help me to get this going.
CodePudding user response:
It is very simple: Though it took me some efforts to find:
You miss a
in the last but one ggplot() line:
Here is an example with the train.csv dataset
library(shiny)
library(ggplot2)
library(dplyr)
#Creating the title and an Output with the id "exampleOne"
ui <- fluidPage(
titlePanel("Titanic"),
plotOutput(outputId = "exampleOne")
)
server <- function(input, output) {
output$exampleOne <- renderPlot({
titanic <- read.csv("train.csv",header = TRUE, sep=",")
newdata <- mutate(titanic, Status = ifelse (Survived > 0,
'Survived',
'Dead'))
ggplot( newdata,
aes(x = Sex, fill = Status))
geom_bar(position = "fill") ### THIS IS MISSING
labs(y= "Proportion")
})
}
shinyApp(ui = ui, server = server)