Rで解析:Shinyのウィジットがいろいろ収録「shinyWidgets」パッケージ

Rの解析に役に立つ記事
スポンサーリンク

Shinyのウィジットがいろいろと収録されているパッケージの紹介です。一覧は「shinyWidgetsGallery」コマンドを実行することで確認することができます。

本パッケージを利用することでShinyの利用に幅が広がるのではないでしょうか。実行コマンドでは収録ウィジットを利用しBoxPlotで使うデータ数を調整する例を紹介しています。

また、Shinyに関しては下記記事を参考ください。

パッケージバージョンは0.1.5。実行コマンドはwindows 11のR version 4.1.2で確認しています。

スポンサーリンク

パッケージのインストール

下記、コマンドを実行してください。

#パッケージのインストール
install.packages("shinyWidgets")

実行コマンド

詳細はコメント、パッケージのヘルプを確認してください。

#パッケージの読み込み
library("shinyWidgets")

#パッケージに含まれている全コマンドをShinyで表示:shinyWidgetsGalleryコマンド
shinyWidgetsGallery()

###参考_dropdownButtonを利用してBoxPlotで使うデータ数を調整する#####
#パッケージの読み込み
library("shiny")
library("shinyWidgets")

###データ例の作成#####
#tidyverseパッケージがなければインストール
if(!require("tidyverse", quietly = TRUE)){
  install.packages("tidyverse");require("tidyverse")
}
set.seed(1234)
TestData <- tibble(Group = sample(paste0("Group", 1:4), 50,
                                  replace = TRUE),
                   Data = sample(c(51:100), 50, replace = TRUE))
########

#UI&#37096;&#20998;&#12434;&#35352;&#36848;
ui <- fluidPage(
  tags$h2("BoxPlot&#12398;&#20351;&#29992;&#12487;&#12540;&#12479;&#25968;&#12434;&#36984;&#25246;"),
  br(),
  #status&#12458;&#12503;&#12471;&#12519;&#12531;:"info","primary","danger","warning","success"
  #icon&#12467;&#12510;&#12531;&#12489;:shiny&#12497;&#12483;&#12465;&#12540;&#12472;&#12395;&#21454;&#37682;&#12373;&#12428;&#12390;&#12356;&#12427;&#12467;&#12510;&#12531;&#12489;&#12391;&#12377;
  #&#12450;&#12452;&#12467;&#12531;&#12399;https://getbootstrap.com/docs/3.3/components/#glyphicons&#12414;&#12383;&#12399;
  #https://fontawesome.com/icons&#12434;&#21442;&#29031;
  #&#35443;&#12375;&#12367;&#12399;&#12300;?icon&#12301;&#12434;&#23455;&#34892;,
  dropdownButton(
    tags$h3("&#20351;&#29992;&#12487;&#12540;&#12479;&#25968;&#12434;&#36984;&#25246;"),
    sliderInput(inputId = "BoxData",
                label = "BoxData",
                value = 25,
                min = 10,
                max = 50),
    circle = TRUE, status = "primary",
    icon = icon("fire"), width = "300px",
    tooltip = tooltipOptions(title = "BoxPlot&#12398;&#20351;&#29992;&#12487;&#12540;&#12479;&#25968;&#12434;&#35519;&#25972;")
  ),
  br(),
  br(),
  br(),
  br(),
  br(),
  br(),
  plotOutput(outputId = "BoxPlot")
)

#server&#37096;&#20998;&#12434;&#35352;&#36848;
server <- function(input, output, session) {
  #&#12487;&#12540;&#12479;&#12434;&#25277;&#20986;
  selectedData <- reactive({
    TestData %>%
      slice_sample(n = input$BoxData)
  })
  
  #BoxPlot&#12434;&#25551;&#20889;
  output$BoxPlot <- renderPlot({
    ggplot(selectedData(), aes(x = Group, y = Data, fill = Group)) +
      geom_boxplot()
  })
  
}

#Shiny&#12398;&#23455;&#34892;
shinyApp(ui = ui, server = server)

出力例

・shinyWidgetsGalleryコマンド

・参考_dropdownButtonを利用してBoxPlotで使うデータ数を調整する


少しでも、あなたの解析が楽になりますように!!

タイトルとURLをコピーしました