我一直在尝试使用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"
我可以写一个脚本,其中服务器脚本从默认位置接收文件及其工作,但我想启用用户输入选项。如果有人分享他们的观点,我将不胜感激。
谢谢。