ShinyTree:超过3个层次级别

时间:2018-07-25 13:14:28

标签: shiny jstree shinytree

我有以下代码:

library(shiny)
library(shinyTree)

server <- shinyServer(function(input, output, session) {  
  output$level_tree <- renderTree({ 
    list('1 level'= list( 
      '1.1 level' = structure(
        list('1.1.1 level'='1', 
            '1.1.2 level'='2')),stopened=TRUE),  
      '1.2 level' = structure(
        list('1.2.1 level'='3')),stopened=TRUE))) 
  })
})

ui <- shinyUI(
  fluidPage(
    h4('Levels'),
    shinyTree("level_tree", checkbox = TRUE)
  )
)
shinyApp(ui, server)

是否可以将以下级别添加到层次树中?

  • 1.1.1。 1

  • 1.1.1。 1.1

  • 1.1.1。 1.1.1

我尝试失败:

list('1 level'= list( 
      '1.1 level' = structure(
        list('1.1.1 level'=list(
                '1.1.1.1 level=list(
                    '1.1.1.1.1'='1')), 
            '1.1.2 level'='2')),stopened=TRUE),  
      '1.2 level' = structure(
        list('1.2.1 level'='3')),stopened=TRUE))) 

1 个答案:

答案 0 :(得分:1)

是的,您必须将所有内容嵌套在列表或结构中。

您的数据格式错误。这些数据应该起作用。

list(
  '1 level'= list( 
    '1.1 level' = structure(
      list('1.1.1 level'=
             list('1.1.1.1 level'=
                    list('1.1.1.1.1'='1')),
           '1.1.2 level'='2'),stopened=TRUE)
  ),
  '1.2 level' = structure(
    list('1.2.1 level' = '3'),stopened=TRUE)
)

发光应用

library(shiny)
library(shinyTree)
library(shinyjs)

trl <- list(
  '1 level'= list( 
    '1.1 level' = structure(
      list('1.1.1 level'=
             list('1.1.1.1 level'=
                    list('1.1.1.1.1'='1')),
           '1.1.2 level'='2'),stopened=TRUE)
  ),
  '1.2 level' = structure(
    list('1.2.1 level' = '3'),stopened=TRUE)
)

ui <- fluidPage(
  shinyTree("tree")
)

server <- function(input, output, session) {
  output$tree <- renderTree({
    trl
  })
}

shinyApp(ui,server)