闪亮:从输入文件创建一个唯一列表
Shiny: Creating an unique list from input file
几天来我一直在尝试使用 Shiny 从我上传的文件创建一个列表。我的文件 (.csv) 已上传并显示与 csv 文件对应的 table。但是,我有一个名为 '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")))
})
您的单选按钮中存在语法错误(额外的 )
),您必须提供 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")
)
))
))
几天来我一直在尝试使用 Shiny 从我上传的文件创建一个列表。我的文件 (.csv) 已上传并显示与 csv 文件对应的 table。但是,我有一个名为 '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")))
})
您的单选按钮中存在语法错误(额外的 )
),您必须提供 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")
)
))
))