アップロードされたデータを読み込んで、カラム内のユニークエレメントの数(カラムの名前はBig)のために十分なnumericInput
を配置するアプリを作成したいと思います。この質問here私を助けた。光沢のある入力ウィジェットの動的数
コードは以下の通りです:
library(shiny)
ui <- fluidPage(
fileInput(inputId = "up","", accept = '.csv'),
uiOutput("sliders")
)
server <- function(input, output, session) {
INPUT <- reactive({
infile <- input$up
#validate(need(input$up, "Input a valid filepath."))
read.csv(infile$datapath, header = TRUE, sep = ",")
})
inVars <- reactive({
unique(INPUT()$Big)
})
output$sliders <- renderUI({
pvars <- length(inVars())
lapply(seq(pvars), function(i) {
numericInput(inputId = paste0("range", pvars[i]),label = pvars[i],value = 1)
})
})
}
shinyApp(ui = ui, server = server)
3つの質問:私はvalidate
の
if (is.null(infile))
return(NULL)
代わりに入れ
1.、それは私のように見えるエラーになりますこれは:
missing value where TRUE/FALSE needed
このエラーを取り除くにはどうすればよいですか?
2.numericInput
のそれぞれにラベルを追加するにはどうすればよいですか?
3.入力値は後でどのように使用できますか? reactive
環境では?
問題がif (is.null(infile))
文ではなく、感謝
これは動作しません。 。私は 'ui'に' dataTableOutput( "table") 'を追加しましたが、まだ動作していません。また、アクションボタンを使わずに自動的に値を読みたいと思っています。 –
'tableOutput'で動作するはずです。テスト用の入力データとスクリーンショットの解答を更新しました。最後のバージョンのShinyを確認してください。値を自動的に読み取る場合は、https://stackoverflow.com/a/40643541/4322318 – Geovany
で解決策を確認できます。コードに問題が1つありますが、わかりません。 'd 'の値を変更すると、' c'の値が変更されます。異なるデータセットで初めてコードを実行したとき、「引数が異なる行数を意味する:4,5」というエラーが発生しました。 'observeEvent'の内部で何かが間違っているようです。 –