(Shiny R)来自上传文件的子集数据+小部件的选择

时间:2016-11-03 13:49:03

标签: r shiny

我的子集功能有问题。

我需要在我的应用程序中实现子集函数,但应用程序不愿意合作。当我尝试显示子集表时,它只显示colummn名称,其余表是空的。

考虑到事实,我的应用程序已经实现了许多功能(直方图,braplot,boxplot,count等...)我只为子集函数放置了所需的代码片段。

h4("Wybierz plik z danymi na których program StatMaciej będzie pracował"),  
fileInput("file", label = h5("Wybierz Plik")),


  checkboxInput(inputId = 'header', label = 'Pierwszy wiersz to etykiety', value = FALSE),
  radioButtons(inputId = 'sep', label = 'Wzkaż znak oddzielający kolumny', choices = c("Przecinek"=',',"Średnik"=';',"Tabulator"='\t', "Spacja"=''), selected = ','),
  radioButtons(inputId = 'dec', label = 'Co jest separatorem dziesiętnym', choices = c("Przecinek"=',',"Kropka"='.'), selected = ',')

此片段是上传文件的UI的一部分,使用小部件选择像分隔符这样的内容。

conditionalPanel(
    condition = "input.histogrup == '2'",
        selectInput("combobox8", label = h5("Wybierz kolumne ze zmienną grupującą"),  choices = NULL),
selectInput("combobox9", label = h5("wybierz grupe"),  choices = NULL)

)

这个片段用于为小部件选择变量的小部件。 combobox8用于选择列,combobox9用于选择所选列中的唯一变量。

  data <- reactive({
    file1 <- input$file
    if(is.null(file1)){return()} 
    dataSet <- read.table(file=file1$datapath, sep=input$sep, header = input$header, dec = input$dec )

    updateCheckboxGroupInput(session, "choices1", choices = colnames(dataSet))


    updateSelectInput(session, "combobox", choices = colnames(dataSet))
    updateSelectInput(session, "combobox1", choices = colnames(dataSet))
    updateSelectInput(session, "combobox2", choices = colnames(dataSet))
    updateSelectInput(session, "combobox3", choices = colnames(dataSet))
    updateSelectInput(session, "combobox4", choices = colnames(dataSet))
        updateSelectInput(session, "combobox5", choices = colnames(dataSet))
            updateSelectInput(session, "combobox6", choices = colnames(dataSet))
            updateSelectInput(session, "combobox7", choices = colnames(dataSet))
            updateSelectInput(session, "combobox8", choices = colnames(dataSet))




    dataSet
  })
  observe ({
            updateSelectInput(session, "combobox9", choices = unique(as.character(data()[[input$combobox8]]))) 
  })

有server.r的片段负责上传文件和更新小部件,还有观察者部分更新“combobox9”

output$tabelatest <- renderTable({



    subset(data(), input$combobox8==input$combobox9)

      })

这是子集的片段。它创建了子集化表。

tableOutput("tabelatest"),

当然是ui中代码的最后一部分,负责替换表。

我试图在子集部分做一些技巧(比如“粘贴”命令),但它没有用。所以我在这里寻求帮助。

0 个答案:

没有答案