Shinyでヒストグラムの表示②


ヒストグラムのビン数を指定できるようしてみた。

library(shiny)
library(ggplot2)

rm(list=ls())

# データを定義
data("iris")
x <- iris
head(x)

# ユーザインタフェースを定義
ui <- fluidPage(
  h1("Iris Histogram"),
  selectInput(inputId = "colname", label = "列名", choices = colnames(x)[-ncol(x)]),
  sliderInput(inputId = "bins", label = "ビン数", min = 1, max = 100, value = 30),
  plotOutput(outputId = "histogram")
)

# サーバの処理(ヒストグラムの作成)を定義
server <- function(input, output, session){
  output$histogram <- renderPlot({
    ggplot(data = x, mapping = aes(x = x[, input$colname])) + geom_histogram(bins = input$bins) + xlab(input$colname)
  })
}

# アプリを起動
shinyApp(ui = ui, server = server)