forループを使用して、光沢のあるモジュールを動的な回数呼び出します

エルリンスカ

行上の別の変数の長さと同じ数のtextInputsを表示する光沢のあるモジュールを作成しました。

これらのモジュールを手動で次々に呼び出すと、問題なく機能します。

library(shiny)
library(shinydashboard)

scenarios <- c("Scenario 1", "Scenario 2", "Scenario 3", "Scenario 4")

scenarioInput <- function(id, nomScenario){
  ns <- NS(id)
  textInput(inputId = ns("scenario"), label=nomScenario)
}

box1 <- shinydashboard::box(width=NULL, status="primary", align="center",
            HTML("<h1><strong>Scénarios</strong></h1>"), 
            splitLayout(
              cellWidths = rep(paste0(100/length(scenarios), "%"), length(scenarios)),   
              cellArgs = list(style = "padding: 2%"),
              scenarioInput(id=1, nomScenario=scenarios[1]),
              scenarioInput(id=2, nomScenario=scenarios[2]),
              scenarioInput(id=3, nomScenario=scenarios[3]),
              scenarioInput(id=4, nomScenario=scenarios[4])
            )
)

body <- dashboardBody(
  fluidRow(
    column(width = 12,
           box1,
    )
  )
)


ui <- dashboardPage(
  dashboardHeader(),
  dashboardSidebar(),
  body
)

shinyApp(ui = ui, server = function(input, output) { })

ただし、forループを介してこれらのモジュールを呼び出そうとすると、textInputボックスが画面に表示されません。

box1 <- shinydashboard::box(width=NULL, status="primary", align="center",
            HTML("<h1><strong>Scénarios</strong></h1>"), 
            splitLayout(
              cellWidths = rep(paste0(100/length(scenarios), "%"), length(scenarios)),   
              cellArgs = list(style = "padding: 2%"),
              for (i in 1:length(scenarios)){scenarioInput(id=i, nomScenario=scenarios[i])}
            )
)

誰かがこれを機能させる方法を知っていますか?

ismirsehshelf

textInputsを引数としてに渡す必要がありますsplitLayoutこれは、次の方法で実行できますdo.call

library(shiny)
library(shinydashboard)

scenarios <- c("Scenario 1", "Scenario 2", "Scenario 3", "Scenario 4")

scenarioInput <- function(id, nomScenario) {
  ns <- NS(id)
  textInput(inputId = ns("scenario"), label = nomScenario)
}

box1 <- shinydashboard::box(
  width = NULL,
  status = "primary",
  align = "center",
  HTML("<h1><strong>Scénarios</strong></h1>"),
  do.call(
    what = splitLayout,
    args = c(
      lapply(seq_along(scenarios), function(i) {
        scenarioInput(id = i, nomScenario = scenarios[i])
      }),
      list(cellWidths = list("10%", "20%", "30%", "40%")), # list(cellWidths = rep(paste0(100 / length(scenarios), "%"), length(scenarios))),
      list(cellArgs = list(style = "padding: 2%"))
    )
  )
)

body <- dashboardBody(fluidRow(column(width = 12, box1)))


ui <- dashboardPage(dashboardHeader(),
                    dashboardSidebar(),
                    body)

shinyApp(
  ui = ui,
  server = function(input, output) {  }
)

結果

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

光沢のある呼び出しモジュール

分類Dev

insertUIを使用していくつかの光沢のあるモジュールを追加する際の問題

分類Dev

モジュールでshiny.i18nを使用して光沢のあるアプリを翻訳しますか?

分類Dev

ある光沢のあるモジュールからの結果/出力を使用して、別のモジュール内でSelectInputを更新する

分類Dev

角かっこを使用してモジュールまたはモジュール関数を呼び出す

分類Dev

モジュール化された光沢のあるアプリを使用してExcelを読み取り、表示、ダウンロードする方法

分類Dev

関数ごとのグループの光沢のある入力を呼び出す

分類Dev

2つの文字列を使用して、モジュールYから関数Xを呼び出します

分類Dev

モジュールAppRegistryは登録済みの呼び出し可能モジュールではありません(runApplicationを呼び出しています)

分類Dev

モジュールAppRegistryは登録済みの呼び出し可能モジュールではありません(runApplicationを呼び出しています)

分類Dev

光沢のあるモジュール:サーバー機能が失敗した場合、モジュールUIを破棄します

分類Dev

VBA-モジュールを呼び出すと、「モジュールではなく、予期される変数プロシージャ」が発生します

分類Dev

「匿名のdefine()呼び出しを使用するモジュールは、require()呼び出しでロードする必要があります」

分類Dev

光沢のあるアプリは、複数のプロットに対してdfを1回フィルターします

分類Dev

モジュールを動的にロードし、そのモジュールで関数を動的に呼び出します。Python 2.7

分類Dev

モジュールのすべての関数を取得して呼び出すことができる方法はありますか?

分類Dev

将来的に光沢のあるJavaScriptコールバックを呼び出す

分類Dev

VBAへのアクセス-変数を使用して、フォームのモジュール内のサブルーチン/関数を呼び出します

分類Dev

光沢のあるダッシュボードでの複数のDT行の選択に基づいてセル値を保存および印刷します

分類Dev

ネストされたモジュールを使用してbs4Dashに表示されない光沢のある出力要素

分類Dev

条件付きパネルを使用して、光沢のあるダッシュボードに動的タブを追加します

分類Dev

光沢のあるアプリをモジュール化する:CSVおよびチャートモジュール

分類Dev

光沢のあるモジュールを反応させる

分類Dev

アップロードされたファイルのデータを使用して複数の光沢のあるウィジェットを作成する

分類Dev

モジュールのインポート時に呼び出される関数をモックします

分類Dev

モジュール内の関数への呼び出しを動的に構築する方法

分類Dev

カーネル関数でOpenCVGPUモジュールの関数を呼び出すと、動作し、高速になりますか?

分類Dev

光沢のあるモジュールを介してDataTableの光沢のあるアクションボタンを使用するにはどうすればよいですか?

分類Dev

光沢のあるモジュールを備えたupdateTabsetPanel

Related 関連記事

  1. 1

    光沢のある呼び出しモジュール

  2. 2

    insertUIを使用していくつかの光沢のあるモジュールを追加する際の問題

  3. 3

    モジュールでshiny.i18nを使用して光沢のあるアプリを翻訳しますか?

  4. 4

    ある光沢のあるモジュールからの結果/出力を使用して、別のモジュール内でSelectInputを更新する

  5. 5

    角かっこを使用してモジュールまたはモジュール関数を呼び出す

  6. 6

    モジュール化された光沢のあるアプリを使用してExcelを読み取り、表示、ダウンロードする方法

  7. 7

    関数ごとのグループの光沢のある入力を呼び出す

  8. 8

    2つの文字列を使用して、モジュールYから関数Xを呼び出します

  9. 9

    モジュールAppRegistryは登録済みの呼び出し可能モジュールではありません(runApplicationを呼び出しています)

  10. 10

    モジュールAppRegistryは登録済みの呼び出し可能モジュールではありません(runApplicationを呼び出しています)

  11. 11

    光沢のあるモジュール:サーバー機能が失敗した場合、モジュールUIを破棄します

  12. 12

    VBA-モジュールを呼び出すと、「モジュールではなく、予期される変数プロシージャ」が発生します

  13. 13

    「匿名のdefine()呼び出しを使用するモジュールは、require()呼び出しでロードする必要があります」

  14. 14

    光沢のあるアプリは、複数のプロットに対してdfを1回フィルターします

  15. 15

    モジュールを動的にロードし、そのモジュールで関数を動的に呼び出します。Python 2.7

  16. 16

    モジュールのすべての関数を取得して呼び出すことができる方法はありますか?

  17. 17

    将来的に光沢のあるJavaScriptコールバックを呼び出す

  18. 18

    VBAへのアクセス-変数を使用して、フォームのモジュール内のサブルーチン/関数を呼び出します

  19. 19

    光沢のあるダッシュボードでの複数のDT行の選択に基づいてセル値を保存および印刷します

  20. 20

    ネストされたモジュールを使用してbs4Dashに表示されない光沢のある出力要素

  21. 21

    条件付きパネルを使用して、光沢のあるダッシュボードに動的タブを追加します

  22. 22

    光沢のあるアプリをモジュール化する:CSVおよびチャートモジュール

  23. 23

    光沢のあるモジュールを反応させる

  24. 24

    アップロードされたファイルのデータを使用して複数の光沢のあるウィジェットを作成する

  25. 25

    モジュールのインポート時に呼び出される関数をモックします

  26. 26

    モジュール内の関数への呼び出しを動的に構築する方法

  27. 27

    カーネル関数でOpenCVGPUモジュールの関数を呼び出すと、動作し、高速になりますか?

  28. 28

    光沢のあるモジュールを介してDataTableの光沢のあるアクションボタンを使用するにはどうすればよいですか?

  29. 29

    光沢のあるモジュールを備えたupdateTabsetPanel

ホットタグ

アーカイブ