2016-11-09 87 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

相关问题