Я создаю блестящее приложение с реактивными значениями, где при выборе строки
1.) он выберет узел и
2.) найти весь маршрут, связанный с этим узлом, во всем фрейме данных
3.) Отфильтровать оригинал df по указанному выше маршруту.
df <- data.frame("Route" = c("R2","R2","R2","R3","R2","R1","R2","R3","R1"),
"Nodes" = c("N1","N2","N2","N3","N2","N1","N3","N3","N2"),
"X1" = c(81,65,61,64,59,51,69,95,99),
"X2" = c(7,8,15,1,5,10,4,7,8))
library(shiny)
library(shinydashboard)
library(DT)
ui <- dashboardPage(
dashboardHeader(title = "Dynamic Table"),
dashboardSidebar(sidebarMenu(menuItem("Route", tabName = "tab_01"))),
dashboardBody(tabItems(
tabItem(tabName = "tab_01",
tabsetPanel(
tabPanel("T1", DT::DTOutput("table_01")),
tabPanel("T2", DT::DTOutput("table_02"))
)
)))
)
server <- function(input, output){
output$table_01 <- renderDT(datatable(data = df, selection = "single"))
output$table_02 <- renderDT(datatable({
s=input$table_01_rows_selected
n <- unique(df[s,c("Nodes")])
data = df[df$Nodes %in% n,]
}))
}
shinyApp(ui, server)
Так что, в основном, если я выберу строку № 4, то есть узел "N3". Маршрутом, связанным с «N3», являются «R2» и «R3». Наконец, я должен отфильтровать все маршруты, которые имеют "R2" и "R3" в DF.