0
我正在使用閃亮(R)構建應用程序。在開始時,用戶可以上傳要使用的文件(我正在進行排序數據分析)。我的目標是能夠在不知道該文件有多少列的情況下使用文件,以及數據的外觀如何。使用輸入在Shiny R中創建UI
所以現在我不得不選擇由數列,我給這個小預覽應用程序選擇列,然後旁邊,原來顯示它們:
library(shiny)
ui <-fluidPage(
headerPanel("Select data"),
sidebarLayout(
sidebarPanel(
fileInput("uploadFile", "XLSX file"),
textInput('vec1', 'Choose training columns', "3,4"),
actionButton("choose","choose data")
),
mainPanel(
fluidRow(
column(6,tableOutput("data_raw")),
column(6,tableOutput("data_selected"))
)
)
)
)
server <- function(input, output) {
output$data_raw <- renderTable({
inFile <- input$uploadFile
if (is.null(inFile))
return(NULL)
data_raw <<-read.xlsx(inFile$datapath, 1)
})
observe({
if(input$choose>0){
selectvec <- as.numeric(unlist(strsplit(input$vec1,",")))
output$data_selected <- renderTable(
data_selected<- data_raw[,selectvec]
)
}
})
}
shinyApp(ui,server)
現在我想能根據標題選擇要使用的列。
它感覺不自然:在運行時更改應用程序..但在反應環境中..爲什麼不呢?
問題:如何在其已經運行的情況下更改UI,其中的值來自輸入?
親切的問候,彼得
這是越來越downvoted主要是因爲你是不是簡潔有關的問題是,究竟是什麼。我認爲你需要嘗試一些類似於「如何更改正在運行的Shiny文本框中的項目?」。將問題分解到其組成部分,並就每個部分提出一個簡潔的問題。 –
@JDLong好的,感謝您的評論。我會更新這個問題,就像Carl Boneri給出的答案一樣,我認爲它對未來更多的人仍然有用。 – Piet93
我希望它是更好的知道,請讓我知道。 – Piet93