我有一個資料輸入表格,用戶將用它來輸入紙質資料表的野生動物捕獲資料。紙張上有許多相同的欄位(例如,年齡、體重、性別),但并非所有的欄位都相同(例如,有些有胸圍,有些沒有)。這些紙頁也是以不同的順序設定的,而閃亮的表格必須與紙頁上的欄位順序完全一致。
我目前有一系列的uiOutput/renderUI對,根據用戶從下拉選單中選擇的物種來顯示輸入。因為大多數物種都收集了相同的資料,而且這些資料都將進入同一個表格,我想為所有物種使用一個輸入(例如,input$Age而不是input$BearAge和input$ElkAge)。然而,正如我上面所說的,所有作業表的順序都是不同的,所以請不要建議我對所有物種使用相同的表格。
我知道我可以使用shinyjs::show()和shinyjs::hide()來改變輸入是否可見,但是否有辦法根據用戶的輸入來改變現有物件的順序,使用renderUI或其他方法?
它看起來就像這樣:
library(shiny)
ui <- fluidPage()
fluidRow()
column(3, selectInput(inputId = 'species'/span>, 標簽 = 'Species'。 選擇 = c('Elk'。 'Bear'。 'Deer'))),
column(3。 numericInput(inputId = 'age'/span>。 標簽 = 'age'。 值 = NA)),
column(3, numericInput(inputId = 'weight'/span>。 標簽 = 'weight'。 值 = NA))
)
服務器 < - function(input, 輸出,會話) {
if (input$species == 'bear') {
*切換年齡和體重的順序*。
}。
uj5u.com熱心網友回復:
library(shiny)
ui <- fluidPage()
fluidRow()
column(3, selectInput(inputId = 'species'/span>, 標簽 = 'species',
選擇 = c('Elk'。 'Bear'。 'Deer')),
uiOutput("inputs_UI"/span>)
)
)
服務器 < - function(input, 輸出,會話) {
output$inputs_UI <- renderUI({)
if (input$species== 'Bear') {
tagList()
column(3, numericInput(inputId = 'age'/span>。 標簽 = 'age'。 值 = NA)),
column(3, numericInput(inputId = 'weight'/span>。 標簽 = 'weight'。 值 = NA))
)
} else {>
tagList()
column(3, numericInput(inputId = 'weight'/span>。 標簽 = 'weight'。 值= NA)),
column(3, numericInput(inputId = 'age'/span>。 標簽 = 'age'。 值 = NA))
)
}
})
}
shinyApp(ui, server)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/331807.html
標籤:
上一篇:無法從json物件中獲取特定資料
