The UI takes in the different features from the mtcars inbuilt R dataset. The output is the histograms based on the selection of features and bin size. Server logic draws a histogram, and generate bins based on input$bins from ui.R
7/21/2018
The UI takes in the different features from the mtcars inbuilt R dataset. The output is the histograms based on the selection of features and bin size. Server logic draws a histogram, and generate bins based on input$bins from ui.R
str(mtcars)
## 'data.frame': 32 obs. of 11 variables: ## $ mpg : num 21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ... ## $ cyl : num 6 6 4 6 8 6 8 4 4 6 ... ## $ disp: num 160 160 108 258 360 ... ## $ hp : num 110 110 93 110 175 105 245 62 95 123 ... ## $ drat: num 3.9 3.9 3.85 3.08 3.15 2.76 3.21 3.69 3.92 3.92 ... ## $ wt : num 2.62 2.88 2.32 3.21 3.44 ... ## $ qsec: num 16.5 17 18.6 19.4 17 ... ## $ vs : num 0 0 1 1 0 1 0 1 1 1 ... ## $ am : num 1 1 1 0 0 0 0 0 0 0 ... ## $ gear: num 4 4 4 3 3 3 3 4 4 4 ... ## $ carb: num 4 4 1 1 2 1 4 2 2 4 ...
server <- function(input, output) {
output$distPlot <- renderPlot({
if(input$p=='a'){
i<-1
}
if(input$p=='b'){
i<-2
}
if(input$p=='c'){
i<-3
}
if(input$p=='d'){
i<-4
}
x <- mtcars[, i]
bins <- seq(min(x), max(x), length.out = input$bins + 1)
hist(x, breaks = bins, col = 'blue', border = 'black')
})
}
ui <- fluidPage(
titlePanel("Cars dataset feature distribution"),
sidebarLayout(
sidebarPanel(
radioButtons("p", "Select column of inbuilt R cars dataset:",
list("mpg"='a', "cyl"='b', "carb"='c', "drat"='d')),
sliderInput("bins",
"Number of bins:",
min = 1,
max = 100,
value = 50)
),
mainPanel(
plotOutput("distPlot")
)
)
)
The code is deployed on: https://anjaney.shinyapps.io/Week4_shiny_app/