1

我有以下代码:

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

1 回答 1

2

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

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

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)
于 2018-10-20T20:52:40.487 回答