我一直在尝试使用Shiny从我上传的文件中创建一个列表。我的文件(.csv)已上传,并显示与csv文件对应的表。但是,我有一个名为'Peptide.Sequence'的列,我想创建一个唯一名称列表,因为它包含几个重复项(从那里我希望能够为每个肽提供用户特定的值,所以第四,但这是另一项任务)。
我一直在尝试许多不同的方法,并在网上搜索(包括堆栈溢出)以获得答案。在这一点上,我希望能够提供一些关于如何继续前进的建议......
我一直收到错误:
错误:'arg'必须为NULL或字符向量
事先谢谢。
**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 :(得分:0)
您的单选按钮中有一个sintax错误(额外的)
),您必须提供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")
)
))
))