tamaño studio resueltos prueba paquete muestreo muestras muestra hipotesis generar factor ejercicios con aleatorias r shiny

studio - La gráfica de árbol se muestra en R, pero no en R-Brillante



sampling in r (2)

Este código no funciona, ya que la función ToGraphViz se retiró de DiagrammeR y se reemplazó por ToDiagrammerGraph. El siguiente cambio funciona.

# grViz(ToGraphViz(org),engine = "dot") grViz(DiagrammeR::generate_dot(ToDiagrammeRGraph(org)))

Además, "padre" es una palabra reservada, así que lo reemplacé "parent2".

Puedo usar el paquete data.tree para generar un diagrama. Aquí hay un ejemplo de una trama:

library(data.tree) org <- Node$new("Parent") org$AddChild("Child_1") org$AddChild("Child_2") plot(org)

Sin embargo, no puedo renderizar esta trama en R-Brillante. He podido representar la mayoría de las otras tramas en Shiny. ¿Qué puedo hacer para representar esta trama y por qué no aparece? Aquí está mi código Shiny:

library(shiny); library(data.tree) ui <- fluidPage( mainPanel(plotOutput("orgplot") ) ) server <- function(input, output){ rv <- reactiveValues() org <- Node$new("Parent") org$AddChild("Child_1") org$AddChild("Child_2") output$orgplot <- renderPlot({ plot(org)}) } shinyApp(ui = ui, server = server)


plot(org) generate widget of class grViz Así que puedes usar renderGrViz para mostrar la gráfica en brillante.

Me gusta ( textInput usado por ejemplo de cambiar el nombre de "parent")

library(shiny); library(data.tree) library(DiagrammeR) ui <- fluidPage( mainPanel(grVizOutput("xx") ), textInput("parent","parent","parent") ) server <- function(input, output){ output$xx=renderGrViz({ org <- Node$new(input$parent) org$AddChild("Child_1") org$AddChild("Child_2") grViz(ToGraphViz(org),engine = "dot") }) } shinyApp(ui = ui, server = server)

Actualizar agregar nodo dinámicamente

Si desea agregar nodos dinámicamente, puede intentar agregar elementos secundarios al nodo por nombre (necesita algunos controles para evitar que los nombres se dupliquen)

Nuevas funciones para dibujar un gráfico obtener de @rpm respuesta

ui <- fluidPage( mainPanel(uiOutput("add_child_ui"), grVizOutput("xx") ) ) server <- function(input, output){ #Create reative value to app vv=reactiveValues(org=NULL,names=NULL) #create main tree observe({ vv$org <- Node$new("Parent1") vv$org$AddChildNode(child = Node$new("1")) vv$names=vv$org$Get(''name'') # get names of main tree }) output$add_child_ui=renderUI({ list( wellPanel( selectInput("Name_to_change","Name_to_change",vv$names), textInput("new_name","new_name",""), actionButton("Change_name","Change_name") ), wellPanel( selectInput("Parent_name","Parent_name",vv$names), textInput("new_node_name","new_node_name",""), actionButton("add_child","add_child") )) }) observeEvent(input$Change_name,{ aa=FindNode(node=vv$org,name = input$Name_to_change) aa$name=input$new_name # Change name vv$names=vv$org$Get(''name'')# get names of new tree #re-generate chart output$xx=renderGrViz({ grViz(DiagrammeR::generate_dot(ToDiagrammeRGraph(vv$org)),engine = "dot") }) }) observeEvent(input$add_child,{ FindNode(node=vv$org,name = input$Parent_name)$AddChildNode(Node$new(input$new_node_name)) # add child vv$names=vv$org$Get(''name'')# get names of new tree #re-generate chart output$xx=renderGrViz({ grViz(DiagrammeR::generate_dot(ToDiagrammeRGraph(vv$org)),engine = "dot") }) }) output$xx=renderGrViz({ grViz(DiagrammeR::generate_dot(ToDiagrammeRGraph(vv$org)),engine = "dot") }) } shinyApp(ui = ui, server = server)