从具有特定库的用户解析输入文件,R shiny

时间:2016-11-01 15:39:20

标签: shiny

我一直在尝试使用server.R脚本中的特定库解析用户输入文件。但是脚本有些问题我无法理解。我希望有人能帮助我解决这个问题。

以下是ui.R& server.R个脚本

ui.R

library(shiny)

shinyUI(fluidPage(
        titlePanel("MA analysis app - testing"),

        sidebarLayout(
                sidebarPanel(helpText("This version only receives samples files"),

                fileInput('file1', label="Upload samples files:", accept=c('text/csv', 'text/comma-separated-value', 'text/palin', '.csv', '.txt')),

        tags$hr(),

        checkboxInput('header', label='Header', FALSE)),

        mainPanel(plotOutput("plotMDS"))

)

))

server.R

    library(shiny)
    library(limma)
    library(illuminaHumanv4.db)

    options(shiny.maxRequestSize=30*1024^2)

    shinyServer(function(input, output){

            Dat=reactive({
                    inFile=input$file1
                    if(is.null(inFile))
                    return(NULL)
                    dat=read.ilmn(inFile, other.columns="Detection")

            })

            output$plotMDS=renderPlot({
                    plotMDS(Dat()$dat$E)

    })

    })

错误是: Error:'data' must be of a vector type, was 'NULL' 我甚至无法上传文件就能看到错误。

执行上述任务的一般R脚本将遵循

library(limma)
library(illuminaHumanv4.db)

dat=read.ilmn("samples.txt", other.columns="Detection")
plotMDS(dat$E)

class(dat)
[1] "EListRaw"
attr(,"package")
[1] "limma"

我可以写一个脚本,其中服务器脚本从默认位置接收文件及其工作,但我想启用用户输入选项。如果有人分享他们的观点,我将不胜感激。

谢谢。

0 个答案:

没有答案