我想从文件中读取一个data.frame,然后用它来制作图。 问题是,当我读取数据时,它是输出对象的一部分,不能进一步使用。我想使用csv文件中的数据制作许多不同的图。 这是一个小例子,其中csv文件有两列,我想要做的是在函数服务器的末尾。
shiny::runApp(list(
ui=pageWithSidebar(
headerPanel('Simple matrixInput')
,
sidebarPanel(
fileInput('file1', 'Choose CSV File',
accept=c('text/csv', 'text/comma-separated- values,text/plain', '.csv'))
,
tags$hr(),
checkboxInput('header', 'Header', TRUE),
radioButtons('sep', 'Separator',
c(Comma=',',
Semicolon=';',
Tab='\t'),
'Comma'),
radioButtons('dec', 'Desimal seperator',
c('komma'=",",
'punktum'="."), 'komma')
)
,
mainPanel(
tableOutput(outputId = 'table.output'),
plotOutput("plot1")
))
,
server=function(input, output){
output$table.output <- renderTable({
inFile <- input$file1
if (is.null(inFile))
return(NULL)
tbl <- read.csv(inFile$datapath, header=input$header, sep=input$sep, dec = input$dec)
return(tbl)
})
#I also want to do this:
# output$plot1 <- plot(tbl[,1], tbl[,2])
}
))
答案 0 :(得分:8)
利用反应功能:
在应用的服务器部分进行以下更改
/refs
|--remotes
|--remote1/
|--branch1
|--branch2
|--remote2/
|--branch1
|--branch2