shinyTree:超过 3 个等级

shinyTree: more than 3 hierarchical levels

我有以下代码:

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)

有什么方法可以将以下级别添加到层次结构树中:

我尝试失败:

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))) 

是的,您必须测试列表或结构中的所有内容。

您的数据格式有误。此数据应该有效。

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)
)

Shiny-App

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)