shinyTreeがチェックボックス出力をレンダリングしない

アプリコット

shinyTreeを使用してデータテーブルをレンダリングしています。以下は、これまでに使用されたコードを含むデータセットです。

library(shiny)
library(shinyTree)

newdat <- structure(list(RESPID = c("41000123", "41004132", "41006132", 
"41007121", "41007123"), PDT_A = c(125, 66, 45, 28, 
0), PDT_B = c(10, 0, 0, 0, 0), PDT_C = c(0, 0, 0, 0, 0), PDT_D = c(450, 
105, 75, 192, 0), PDT_TOTAL = c(585, 171, 120, 220, 0)), .Names = c("RESPID", 
"PDT_A", "PDT_B", "PDT_C", "PDT_D", "PDT_TOTAL"), row.names = c("6", 
"40", "56", "59", "61"), class = "data.frame")


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

    newdata <- reactive({newdat})

  output$tree <- renderTree({
    sss=list('TOTAL_VALUE'= list('TOTAL_VALUE_OF_MERCHANDISE'   =  structure(list('PDT_TOTAL'='1001'), stopened=FALSE),
        'PDT_CAT'   =  structure(list('PDT_TOTAL'='1002','PDT_A'='152','PDT_B'='153','PDT_C'='154','PDT_D'='155'), stopened=FALSE)
        ))
    attr(sss[[1]],"stopened")=FALSE 
    sss
  })

  catdat <- reactive({
      tree <- input$tree
      unlist(get_selected(tree))
  })

  coldat <- reactive({
      newdata()[,catdat()]
  })

  output$datatab <- renderDataTable({
        coldat()
  })


})


ui <- shinyUI(
  pageWithSidebar(
    headerPanel("TEST"),
    sidebarPanel(
      shinyTree("tree", checkbox = TRUE)
    ),
    mainPanel(
      dataTableOutput("datatab")
    )
  ))

shinyApp(ui,server)

ツリーが生成されます。データテーブルの出力を介して列をレンダリングする際に、次の問題が発生します。

  1. ツリーの最初のブランチは、1つの列のみを参照します。これは光沢のあるレンダリングではありません。エラーメッセージが表示されますundefined columns selected

  2. テーブルの5列すべてをレンダリングすることになっているツリーの2番目のブランチ。ただし、レンダリングされるのは4つの列のみです。

2番目のブランチのルートを選択すると、同じ結果が得られundefined columns selectedます。ブランチの1つをオフにすると、4列のテーブルがレンダリングされます。

すべての列をレンダリングするにはどうすればよいですか?ブランチルート/ノードレベルでチェックボックスを削除する方法はありますか?

Michal Majka

広告1.ツリーの最初のブランチを選択するcatdat()"PDT_TOTAL""TOTAL_VALUE_OF_MERCHANDISE"とを使用してベクトルが返さ"TOTAL_VALUE_OF_MERCHANDISE"れ、データセットにそのような変数がないため、このエラーが発生します。

広告2.5つのオプションをすべて選択すると、さらにcatdat()戻り"PDT_CAT"、上記と同じ問題が発生します。データセットにそのような変数はありません。(上記と同じ-すべてのオプションを選択すると、"PDT_TOTAL"追加で返されます"TOTAL_VALUE_OF_MERCHANDISE"


すべての列をレンダリングするには、次のようにします。

まず、データセットから動的に変数を選択し、最初のオプションが選択されたときにcatdat()2回返されるように重複を削除します"TOTAL_VALUE"TOTAL_VALUE

別の問題もありnewdata()[,vars]ます。選択された変数が1つしかない場合にベクトルを返し、renderDataTableデータフレームでのみ機能するため何も出力しません。この問題に対処,するには、削除して、サブセットが常にデータフレームを返すようにすることができます-newdata()[vars]

coldat <- reactive({
    vars <- catdat()
    vars <- vars[!(vars %in% c("TOTAL_VALUE", "TOTAL_VALUE_OF_MERCHANDISE", "PDT_CAT"))]
    vars <- unique(vars)
    print(vars)

    # newdata()[,vars] # If you select only one variable then this reactive returns an object of class numeric and not a data.frame
    newdata()[vars] # remove "," and it will always return a data frame
  })

完全な例:

library(shiny)
library(shinyTree)

newdat <- structure(list(RESPID = c("41000123", "41004132", "41006132", 
                                    "41007121", "41007123"), PDT_A = c(125, 66, 45, 28, 
                                                                       0), PDT_B = c(10, 0, 0, 0, 0), PDT_C = c(0, 0, 0, 0, 0), PDT_D = c(450, 
                                                                                                                                          105, 75, 192, 0), PDT_TOTAL = c(585, 171, 120, 220, 0)), .Names = c("RESPID", 
                                                                                                                                                                                                              "PDT_A", "PDT_B", "PDT_C", "PDT_D", "PDT_TOTAL"), row.names = c("6", 
                                                                                                                                                                                                                                                                              "40", "56", "59", "61"), class = "data.frame")


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

  newdata <- reactive({newdat})

  output$tree <- renderTree({
    sss=list('TOTAL_VALUE'= list('TOTAL_VALUE_OF_MERCHANDISE'   =  structure(list('PDT_TOTAL'='1001'), stopened=FALSE),
                                 'PDT_CAT'   =  structure(list('PDT_TOTAL'='1002','PDT_A'='152','PDT_B'='153','PDT_C'='154','PDT_D'='155'), stopened=FALSE)
    ))
    attr(sss[[1]],"stopened")=FALSE 
    sss
  })

  catdat <- reactive({
    tree <- input$tree
    unlist(get_selected(tree))
  })

  coldat <- reactive({
    vars <- catdat()
    vars <- vars[!(vars %in% c("TOTAL_VALUE", "TOTAL_VALUE_OF_MERCHANDISE", "PDT_CAT"))]
    vars <- unique(vars)
    print(vars)

    # newdata()[,vars] # If you select only one variable then this reactive returns an object of class numeric and not a data.frame
    newdata()[vars] # remove "," and it will always return a data frame
  })

  output$datatab <- renderDataTable({
    coldat()
  })


})


ui <- shinyUI(
  pageWithSidebar(
    headerPanel("TEST"),
    sidebarPanel(
      shinyTree("tree", checkbox = TRUE)
    ),
    mainPanel(
      dataTableOutput("datatab")
    )
  ))

shinyApp(ui,server)

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Vaadinチェックボックスが正しくレンダリングされない

分類Dev

チェックボックスが再レンダリング時にリセットされない

分類Dev

$ emitですべてのチェックボックスを選択してもビューが再レンダリングされない-Vuejs

分類Dev

セレンは時々チェックボックスをクリックしないことがあります

分類Dev

Angular 6 / PrimeNg6でチェックボックスとラジオボタンが正しくレンダリングされない

分類Dev

セレンチェックボックスがクリックされない

分類Dev

セレンチェックボックスがクリックされない

分類Dev

チェックボックスのInputAttributesとLabelAttributesがポストバック後にレンダリングされないのはなぜですか?

分類Dev

symfony のチェックボックスは小枝のレンダリングをリストします

分類Dev

親がクリックイベントをリッスンするときにチェックボックスがngTemplateOutlet内で機能しない-バグ?

分類Dev

datagridチェックイベントのチェックボックスがwpfmvvmをトリガーしない

分類Dev

ReactiveFormでチェックボックスリストをフィルタリングすると、レンダリングエラーが発生します

分類Dev

React:チェックボックスはレンダリングを1回だけトリガーします

分類Dev

React-チェックボックスが選択されているときにクラスコンポーネントをレンダリングする

分類Dev

チェックボックスクリックイベントが機能をトリガーしない

分類Dev

ASP NET MVC4はチェックボックスを並べてレンダリングします

分類Dev

JTableのヘッダーのチェックボックスがNimbus L&Fで異なるレンダリングをする

分類Dev

XCodeカスタムテンプレート-チェックボックスのみのフォルダー構造(バリエーション「チェックボックスがチェックされていない」を配置する場所)?

分類Dev

ReactJSカスタムフックが期待される出力をレンダリングしない

分類Dev

ブックダウンドキュメントが出力を正しくレンダリングしない

分類Dev

チェックボックスを使用してレコードがグリッドから削除されない

分類Dev

チェックボックスがランダムな項目をチェックしたアダプタ

分類Dev

iCheckが特定のチェックボックスをスタイリングしながら、他のチェックボックスをスタイリングしないようにするにはどうすればよいですか?

分類Dev

ReactJsの[スイッチ名]ボタンをクリックした後、適切な出力が得られない

分類Dev

ReactJS:コンポーネントを再レンダリングした後もチェックボックスの状態が持続する

分類Dev

ボタンクリックイベント後にDataTableがGridviewをレンダリングしない

分類Dev

ExtJs4.1.1チェックボックスはボタンとしてレンダリングされています。通常のチェックボックスが必要です

分類Dev

ExtJs4.1.1チェックボックスはボタンとしてレンダリングされています。通常のチェックボックスが必要です

分類Dev

リンクをクリックしてもJqueryダイアログボックスが開かない

Related 関連記事

  1. 1

    Vaadinチェックボックスが正しくレンダリングされない

  2. 2

    チェックボックスが再レンダリング時にリセットされない

  3. 3

    $ emitですべてのチェックボックスを選択してもビューが再レンダリングされない-Vuejs

  4. 4

    セレンは時々チェックボックスをクリックしないことがあります

  5. 5

    Angular 6 / PrimeNg6でチェックボックスとラジオボタンが正しくレンダリングされない

  6. 6

    セレンチェックボックスがクリックされない

  7. 7

    セレンチェックボックスがクリックされない

  8. 8

    チェックボックスのInputAttributesとLabelAttributesがポストバック後にレンダリングされないのはなぜですか?

  9. 9

    symfony のチェックボックスは小枝のレンダリングをリストします

  10. 10

    親がクリックイベントをリッスンするときにチェックボックスがngTemplateOutlet内で機能しない-バグ?

  11. 11

    datagridチェックイベントのチェックボックスがwpfmvvmをトリガーしない

  12. 12

    ReactiveFormでチェックボックスリストをフィルタリングすると、レンダリングエラーが発生します

  13. 13

    React:チェックボックスはレンダリングを1回だけトリガーします

  14. 14

    React-チェックボックスが選択されているときにクラスコンポーネントをレンダリングする

  15. 15

    チェックボックスクリックイベントが機能をトリガーしない

  16. 16

    ASP NET MVC4はチェックボックスを並べてレンダリングします

  17. 17

    JTableのヘッダーのチェックボックスがNimbus L&Fで異なるレンダリングをする

  18. 18

    XCodeカスタムテンプレート-チェックボックスのみのフォルダー構造(バリエーション「チェックボックスがチェックされていない」を配置する場所)?

  19. 19

    ReactJSカスタムフックが期待される出力をレンダリングしない

  20. 20

    ブックダウンドキュメントが出力を正しくレンダリングしない

  21. 21

    チェックボックスを使用してレコードがグリッドから削除されない

  22. 22

    チェックボックスがランダムな項目をチェックしたアダプタ

  23. 23

    iCheckが特定のチェックボックスをスタイリングしながら、他のチェックボックスをスタイリングしないようにするにはどうすればよいですか?

  24. 24

    ReactJsの[スイッチ名]ボタンをクリックした後、適切な出力が得られない

  25. 25

    ReactJS:コンポーネントを再レンダリングした後もチェックボックスの状態が持続する

  26. 26

    ボタンクリックイベント後にDataTableがGridviewをレンダリングしない

  27. 27

    ExtJs4.1.1チェックボックスはボタンとしてレンダリングされています。通常のチェックボックスが必要です

  28. 28

    ExtJs4.1.1チェックボックスはボタンとしてレンダリングされています。通常のチェックボックスが必要です

  29. 29

    リンクをクリックしてもJqueryダイアログボックスが開かない

ホットタグ

アーカイブ