最初にここで再現可能なコードを実行してください。
作成された 2 つのボックス プロットを次に示します。上はシンプルに。一番下は の箱ひげ図facet_grid
です。
それらをつなげていくという発想です。それらの 1 つのポイントをブラッシングすると、ポイントと他の箱ひげ図のポイントが強調表示されます。
現在、1 つのボックス プロット内のポイントの選択がうまく機能していないようです。
そして、箱ひげ図はfacet_grid
それ自体では機能しません。
library(shiny)
library(ggplot2)
server <- function(input, session, output) {
mtcars$cyl = as.character(mtcars$cyl)
mtcars$gear = as.character(mtcars$gear)
vals <- reactiveValues( keeprows = FALSE)
observeEvent(input$brush_1,{
Res=brushedPoints(mtcars,input$brush_1,allRows = TRUE)
vals$keeprows = Res$selected_
})
observeEvent(input$brush_2,{
Res=brushedPoints(mtcars,input$brush_2,allRows = TRUE)
vals$keeprows = Res$selected_
})
output$table1 = renderPrint({
brushedPoints(mtcars,input$brush_1,allRows = TRUE)
})
output$table2 = renderPrint({
brushedPoints(mtcars,input$brush_2,allRows = TRUE)
})
output$plot_1 = renderPlot({
set.seed(123)
ggplot(mtcars,aes(x=cyl,y=mpg)) +
geom_boxplot(outlier.shape = NA) +
geom_jitter(aes(color=vals$keeprows),width=0.2)+
scale_color_manual(values = c("black","red"),guide=FALSE)
})
output$plot_2 = renderPlot({
set.seed(123)
ggplot(mtcars,aes(x=cyl,y=mpg)) +
facet_grid(.~gear)+
geom_boxplot(outlier.shape = NA) +
geom_jitter(aes(color=vals$keeprows),width=0.2)+
scale_color_manual(values = c("black","red"),guide=FALSE)
})
}
ui <- fluidPage(
plotOutput("plot_1",brush = brushOpts("brush_1",resetOnNew = FALSE)),
plotOutput("plot_2",brush = brushOpts("brush_2",resetOnNew = FALSE)),
splitLayout(verbatimTextOutput("table1"),verbatimTextOutput("table2"))
)
shinyApp(ui = ui, server = server)
重要な問題はfacet_grid
機能にあると思います。
どうすればfacet_grid
うまく機能しますかbrush
。
ありがとう。