光沢のあるアプリ内でデータと入力を渡す

アイシャ

光沢のあるアプリを単純化しようとしていました。しかし、私が試した限り、それは私が望むように機能していません。私のアイデアは、アプリにデータをロードし、いくつかの分析を実行して、中間結果をユーザーに返すことでした。現時点では、データをロードし、生成する出力ごとに適切な列などを選択する必要があります。

ui <- shinyServer(
  fluidPage(
    tabsetPanel(

      tabPanel("Data upload",
               titlePanel("Data upload"),
               sidebarLayout(
                sidebarPanel(
                  fileInput("file1", "Choose CSV File",multiple = TRUE, accept = c("text/csv","text/comma-separated-values,text/plain",".csv")),
                  tags$hr(),
                  checkboxInput("header", "Header", TRUE), radioButtons("sep", "Separator", choices = c(Comma = ",", Semicolon = ";",Tab = "\t"), selected = ","),
                  tags$hr(),
                  checkboxInput("disp", "Display",TRUE),
                  tags$hr(),

                  uiOutput("choose_first_column"),
                  uiOutput("choose_second_column"),
                  br()

                ),
                mainPanel(
                  tableOutput("contents"),
                  tags$hr(),
                  tableOutput("tab")
                  )
               )
          ),
        tabPanel("2","2"
    )  

)
)
)


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

  observe({

    req(input$file1)

    df <-  read.csv(input$file1$datapath,
                   header = input$header,
                   sep = input$sep,
                   quote = input$quote)

    output$contents <- renderTable({
                      (head(df))})

    output$choose_first_column <- renderUI({
        colnames <- names(df)
        selectInput("column_1", "Choose Date column", 
                choices  = colnames,
                selected = colnames)})

    output$choose_second_column <- renderUI({
        colnames <- names(df)
        selectInput("column_2", "Choose Variable column", 
                choices  = colnames,
                selected = colnames)})

    output$tab <- renderTable({         

        req(input$file1)

        df2 <-  read.csv(input$file1$datapath,
                       header = input$header,
                       sep = input$sep,
                       quote = input$quote)

        df2 <- df2[, c(input$column_1,input$column_2), drop = FALSE]    

        return(head(df2))})

  })
  })  

runApp(list(ui = ui, server = server))

それは機能しますが、私は通常多くのデータを持っており、いくつかの分析を実行したいので、各「出力コンテンツ」のデータをロードして処理するのは非常に時間がかかります。これを回避する方法はありますか?たとえば、2番目の例のように、データをロードして適切な列をグローバルに選択できますか?(エラーが発生した行に取り消し線を付けました)

ui <- shinyServer(
  fluidPage(
    tabsetPanel(

      tabPanel("Data upload",
               titlePanel("Data upload"),
               sidebarLayout(
                sidebarPanel(
                  fileInput("file1", "Choose CSV File",multiple = TRUE, accept = c("text/csv","text/comma-separated-values,text/plain",".csv")),
                  tags$hr(),
                  checkboxInput("header", "Header", TRUE), radioButtons("sep", "Separator", choices = c(Comma = ",", Semicolon = ";",Tab = "\t"), selected = ","),
                  tags$hr(),
                  checkboxInput("disp", "Display",TRUE),
                  tags$hr(),

                  uiOutput("choose_first_column"),
                  uiOutput("choose_second_column"),
                  br()

                ),
                mainPanel(
                  tableOutput("contents"),
                  tags$hr(),
                 tableOutput("tab")
                  )
               )
          ),
        tabPanel("2","2"
    )  

)
)
)


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

  observe({

    req(input$file1)

    df <-  read.csv(input$file1$datapath,
                   header = input$header,
                   sep = input$sep,
                   quote = input$quote)

    output$contents <- renderTable({
                      (head(df))})

    output$choose_first_column <- renderUI({
        colnames <- names(df)
        selectInput("column_1", "Choose Date column", 
                choices  = colnames,
                selected = colnames)})

    output$choose_second_column <- renderUI({
        colnames <- names(df)
        selectInput("column_2", "Choose Variable column", 
                choices  = colnames,
                selected = colnames)})

#   df <- df[, c(input$column_1,input$column_2), drop = FALSE]  
#               
#   output$tab <- renderTable({
#                      (head(df))})

  })
  })  

runApp(list(ui = ui, server = server))

入力データの例:

date    time    level
01.01.2000  00:00:00    0.3724
01.01.2000  01:00:00    0.192
01.01.2000  02:00:00    -0.0252

助けていただければ幸いです!アイシェ

Vishesh Shrivastav

私が理解したところによると、定義したデータフレームdfが反応しないため、エラーが発生します。ユーザーが入力列を選択するたびに変化するため、リアクティブにする必要があります。

反応性について読むためにこれ参照してくださいコードの削除された部分を次のように変更します。

df.selected.columns <- df[c(input$column_1,input$column_2)]  

output$tab <- renderTable({
                      (head(df.selected.columns()))
              })

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

光沢のあるアプリで軸の値を入力すると、バーは表示されません

分類Dev

光沢のあるアプリの入力値を `actionButton`で更新します

分類Dev

光沢のあるアプリの入力フィルターに「すべての値」を追加する

分類Dev

光沢のあるアプリにデータを送信することは可能ですか?

分類Dev

光沢のあるアプリで出力するモデルを渡すことは可能ですか?

分類Dev

光沢のあるアプリのアクションボタンは、ユーザーからの入力でURLのクエリを更新します

分類Dev

光沢のあるアプリのデータフレーム内の特定の行のみを更新します

分類Dev

光沢のあるアプリでリアクティブなデータフレームを作成する

分類Dev

光沢のあるアプリでファイル入力エラー

分類Dev

光沢のある入力からデータフレームを作成する

分類Dev

光沢のあるアプリでデータフレームをデータテーブルアイテムとして返す方法

分類Dev

光沢のあるアプリからMySQLデータベースにリアクティブな入力値を挿入するにはどうすればよいですか?

分類Dev

光沢のあるアプリのチェックボックスの入力に応じて、データフレームの一部の行をスタイルフォーマットするにはどうすればよいですか?

分類Dev

データセットが変更されると、光沢のあるアプリで列名を動的に表示するとエラーが点滅します

分類Dev

光沢のあるアプリを作成しようとしています。数式入力を指定するとエラーが発生する

分類Dev

光沢のあるアプリをパッケージとして開発し、光沢のあるサーバーにデプロイする

分類Dev

光沢のあるアプリをパッケージとして開発し、光沢のあるサーバーにデプロイする

分類Dev

光沢のあるアプリをパッケージとして開発し、光沢のあるサーバーにデプロイする

分類Dev

ローカルデータを使用する光沢のあるアプリをデプロイする方法

分類Dev

光沢のあるアプリでデータテーブルを表示し、checkboxGroupInputを条件として列を表示します

分類Dev

光沢のあるアプリで条件付きスライダー入力を追加するにはどうすればよいですか?

分類Dev

光沢のあるアプリケーションでselectInputを介して列名を渡す

分類Dev

アプリ内から光沢のあるアプリを再起動します(データを再読み込みします)

分類Dev

光沢のあるアプリでデータベース接続が発生したことを認識します

分類Dev

光沢のあるリアクティブサブセットデータに基づいて動的に入力を選択します

分類Dev

光沢のあるアプリで複数の入力を選択すると、入力が選択された順序によってエラーが発生するのはなぜですか?

分類Dev

光沢のある変数データの入力

分類Dev

光沢のあるアプリからRマークダウンにパラメーターとしてプロット(renderPlot)を渡す方法は?

分類Dev

光沢のあるアプリでfluidRow内のボックス要素にホバーを表示する方法

Related 関連記事

  1. 1

    光沢のあるアプリで軸の値を入力すると、バーは表示されません

  2. 2

    光沢のあるアプリの入力値を `actionButton`で更新します

  3. 3

    光沢のあるアプリの入力フィルターに「すべての値」を追加する

  4. 4

    光沢のあるアプリにデータを送信することは可能ですか?

  5. 5

    光沢のあるアプリで出力するモデルを渡すことは可能ですか?

  6. 6

    光沢のあるアプリのアクションボタンは、ユーザーからの入力でURLのクエリを更新します

  7. 7

    光沢のあるアプリのデータフレーム内の特定の行のみを更新します

  8. 8

    光沢のあるアプリでリアクティブなデータフレームを作成する

  9. 9

    光沢のあるアプリでファイル入力エラー

  10. 10

    光沢のある入力からデータフレームを作成する

  11. 11

    光沢のあるアプリでデータフレームをデータテーブルアイテムとして返す方法

  12. 12

    光沢のあるアプリからMySQLデータベースにリアクティブな入力値を挿入するにはどうすればよいですか?

  13. 13

    光沢のあるアプリのチェックボックスの入力に応じて、データフレームの一部の行をスタイルフォーマットするにはどうすればよいですか?

  14. 14

    データセットが変更されると、光沢のあるアプリで列名を動的に表示するとエラーが点滅します

  15. 15

    光沢のあるアプリを作成しようとしています。数式入力を指定するとエラーが発生する

  16. 16

    光沢のあるアプリをパッケージとして開発し、光沢のあるサーバーにデプロイする

  17. 17

    光沢のあるアプリをパッケージとして開発し、光沢のあるサーバーにデプロイする

  18. 18

    光沢のあるアプリをパッケージとして開発し、光沢のあるサーバーにデプロイする

  19. 19

    ローカルデータを使用する光沢のあるアプリをデプロイする方法

  20. 20

    光沢のあるアプリでデータテーブルを表示し、checkboxGroupInputを条件として列を表示します

  21. 21

    光沢のあるアプリで条件付きスライダー入力を追加するにはどうすればよいですか?

  22. 22

    光沢のあるアプリケーションでselectInputを介して列名を渡す

  23. 23

    アプリ内から光沢のあるアプリを再起動します(データを再読み込みします)

  24. 24

    光沢のあるアプリでデータベース接続が発生したことを認識します

  25. 25

    光沢のあるリアクティブサブセットデータに基づいて動的に入力を選択します

  26. 26

    光沢のあるアプリで複数の入力を選択すると、入力が選択された順序によってエラーが発生するのはなぜですか?

  27. 27

    光沢のある変数データの入力

  28. 28

    光沢のあるアプリからRマークダウンにパラメーターとしてプロット(renderPlot)を渡す方法は?

  29. 29

    光沢のあるアプリでfluidRow内のボックス要素にホバーを表示する方法

ホットタグ

アーカイブ