2016-11-09 85 views
0

我試圖在selectInput中顯示文件所具有的變量的名稱。這個想法是,用戶上傳應用程序中的文件,他可以選擇selectInput中的任何變量。我試圖做到這一點,但我沒有意識到我的錯誤。我找到了答案,但它沒有幫助我。 Selecting record date with selectInput in shiny RSelectInput在Shiny中的問題

這是Ui.R代碼:我沒有在我的selectInput中獲取名稱。

library(shiny) 
ui<-fluidPage(
    titlePanel(title = "Prueba"), 
    sidebarLayout(
    sidebarPanel(
     fileInput('file1', 'Cargar archivo', 
       accept = c(
        'text/csv', 
        'text/comma-separated-values', 
        'text/tab-separated-values', 
        'text/plain', 
        '.csv', 
        '.tsv' 
       ) 
    ), 
     checkboxInput('header', '¿Contiene Encabezado?', TRUE), 
     radioButtons('sep', 'Delimitador', 
        c(Comma=',', 
        "Punto y coma"=';', 
        Tab='\t'), 
        ','), 
     radioButtons('quote', 'Quote', 
        c(Ninguna='', 
        'Dobles'='"', 
        'Simples'="'"), 
        '"'), 
     radioButtons('resume', 'Summary', 
        c('Individual', 
        'Múltiple'), 
        inline = TRUE), 
     conditionalPanel("input.resume === 'Individual'", 
         selectInput('xcol', 'Variable X', names("fileInput$file1"), 
            selected = names("fileInput$file1")[[1]]) 
         ) 
    ), 
    mainPanel(h3("Muestra del archivo cargado:"), 
       tableOutput('contents'), 
       verbatimTextOutput("summary") 
    ) 
) 
) 
+0

你必須閱讀server.R的文件,然後使用updateSelectInput()來更新選擇輸入 – HubertL

回答

0

這是一個關於如何做一個例子:

library(shiny) 
ui<-fluidPage(
    titlePanel(title = "Prueba"), 
    sidebarLayout(
    sidebarPanel(
     fileInput('file1', 'Cargar archivo', 
       accept = c(
        'text/csv', 
        'text/comma-separated-values', 
        'text/tab-separated-values', 
        'text/plain', 
        '.csv', 
        '.tsv' 
       ) 
    ),selectInput('xcol', 'Variable X', columns())), 
    mainPanel(h3("Muestra del archivo cargado:"), 
       tableOutput('contents'), 
       verbatimTextOutput("summary") 
    ) 
) 
) 
server <- function(input, output, session){ 
    columns <- reactive({ 
    df <- read.table(input$file1$datapath) 
    names(df) 
    }) 
    observe({ 
    if(!is.null(input$file1)) 
     updateSelectInput(session, "xcol", choices=columns())}) 
} 

shinyApp(ui, server) 
+0

你好@HubertL感謝。你的回答引導我得到我想要的。我做了一些更改,因爲我在參數列()中遇到錯誤。 – Jrgsua83

+0

這是我的代碼:在UI中,我更改了selectInput('xcol','變量X',「」)服務器 Jrgsua83

相關問題