2015-05-06 3 views
0

Я пытался в течение нескольких дней создать список из моего загруженного файла, используя Shiny. Мой файл (.csv) загружается и отображает таблицу, соответствующую csv-файлу. Тем не менее, у меня есть столбец с именем «Peptide.Sequence», и из этого я хочу создать список уникальных имен, поскольку он содержит несколько дубликатов (оттуда я хочу иметь возможность давать каждому пептиду значение, специфичное для пользователя, и поэтому вперед, но это еще одна задача).Блестящий: создание уникального списка из входного файла

Я пробовал много разных подходов и искал в Интернете (включая переполнение стека) для ответов. заранее

ERROR: 'arg' must be NULL or a character vector

Благодарности: На данный момент я надеюсь, что для некоторых указателей о том, как двигаться дальше ...

я получаю сообщение об ошибке.

**ui.r** 
library(shiny) 

shinyUI(fluidPage(

    titlePanel("File Input"), 
    sidebarLayout(
    sidebarPanel(
     fileInput("file", "Upload the file"), 

     checkboxInput(inputId = 'header', 
        label = 'Header', 
        value = TRUE), 

     radioButtons(inputId = 'sep', 
        label = 'Separator', 
        choices = c(Comma=',',Semicolon=';',Tab='\t', Space=''), 
        selected = ',')), 


     uiOutput("pep"), 



    mainPanel(
     uiOutput("tb") 
    ) 

))) 

**Server.r** 
library(shiny) 

shinyServer(function(input, output) { 




    lc.ms <- reactive({ 
    file1 <- input$file 

    if(is.null(file1)){return()} 

    read.table(file=file1$datapath, 
       sep=input$sep, 
       header = input$header) 

    }) 


    output$filedf <- renderTable({ 

    if(is.null(lc.ms())){return()} 

    input$file 
    }) 


    output$table <- renderTable({ 

    if(is.null(lc.ms())){return()} 

    lc.ms() 

    }) 


    peptides <- as.list(unique(lc.ms$Peptide.Sequence)) 

    output$pep <- renderUI({ 

    selectInput(
     inputId = 'peptides', 
     label = 'peptides', 
     multiple = TRUE) 

    }) 

outputOptions(output, 'pep', suspendWhenHidden=FALSE) 

    output$tb <- renderUI({ 

    if(is.null(lc.ms())) 
     h4("Waiting for file :)") 

    else 
     tabsetPanel(tabPanel("About file", tableOutput("filedf")),tabPanel("lc.ms", tableOutput("table"))) 
    }) 

ответ

0

У вас есть синтаксис ошибка в кнопке радио (дополнительный )), и вы должны дать mainPanel аргумент. Вот ваш ui.r

shinyUI(fluidPage(

    titlePanel("File Input"), 
    sidebarLayout(
mainPanel(), 
    sidebarPanel(
     fileInput("file", "Upload the file"), 

     checkboxInput(inputId = 'header', 
        label = 'Header', 
        value = TRUE), 

     radioButtons(inputId = 'sep', 
        label = 'Separator', 
        choices = c(Comma=',',Semicolon=';',Tab='\t', Space=''), 
        selected = ','), 


     uiOutput("pep"), 



    mainPanel(
     uiOutput("tb") 
    ) 

     )) 

))