Rshiny + visNetwork - PullRequest
       29

Rshiny + visNetwork

0 голосов
/ 09 октября 2018

Смотрите приведенный ниже воспроизводимый пример:

`library(shiny)
library(visNetwork)
library(tidyverse)

Define UI
ui <- shinyUI(fluidPage(
radioButtons(inputId = "selection", label = "Select something for drop down menu", choices = c("status choice" = "status", "method choice" = "method")),
visNetworkOutput("network")

)

)

Define server
server <- shinyServer(function(input, output) {

nodes <- tibble(

id = c("A1","A2","A3","A4","A5",
          "A6","A7","A8","A9","A10"),
Status = c("Student","Doctor","Dentist","Engineer","Teacher","Student","Doctor","Dentist","Engineer","Teacher"),
Method = c("car, bike, walk","bike, car", "train, bus","walk","bus, bike", "car, bike, walk, bus, train", "train, bus", "car, bike, walk","bike, car", "car" )
)

edges <- tibble(
from = c("A1","A2","A3","A4","A5",
"A6","A7","A8","A9","A10"),
to = c("A2","A3","A4","A5",
"A6","A7","A8","A9","A10","A1"),
arrows = c("to","to","to","to","to","to","to","to","to","to")

)

output$network <- renderVisNetwork({
visNetwork(nodes, edges) %>%
visPhysics(enabled = FALSE) %>%
visEdges(smooth = FALSE)

      })
observeEvent(input$selection, {

graph_proxy <- visNetworkProxy("network")
if(input$selection == "status"){

graph_proxy <- graph_proxy %>% 
               visOptions(selectedBy = list(
                 variable = "Status", 
                 style = "width:500px", 
                 multiple = FALSE

               ))
} else if(input$selection == "method"){

graph_proxy <- graph_proxy %>% 
  visOptions(selectedBy = list(
    variable = "Method", 
    style = "width:500px", 
    multiple = TRUE

  ))



    }
})

format positions
})

Run the application
shinyApp(ui = ui, server = server)`

У меня есть приложение, очень похожее на приведенное выше, однако оно НЕ работает при использовании аргумента visOptions (selectedBy) в networkProxy, данные намое другое приложение почти идентично и имеет тот же столбец «Метод», разделенный одной запятой »,« с пробелом », чтобы позволить visNetwork определить, что существует группировка, приведенный выше код идентичен,

однако я не получаю все значения из этого столбца «Метод», кажется, он ограничен только до 70% фактических значений, из которых вы можете выбрать, даже если они разделены необходимым соглашением, это когдаАргумент MULTIPLE = TRUE задан

Есть ли способ противодействия возникшей у меня проблеме, при которой отображаются только некоторые из отдельных значений в столбце Method, а не все из них, которые у меня есть?

...