I can't figure out what's going on - everything seems to work but my app does not generate a file - although it looks like it does.
I run it in Windows, on RStudio 0.98.125, and I run it using the line:
runApp()
Below is a very simple reproducible example:
my 'ui.R':
shinyUI(pageWithSidebar(
headerPanel("My App"),
sidebarPanel(
numericInput('NumRuns','Number of runs',value=3,min=3,max=10,step=1),
actionButton(inputId="goButton","Run!"),
textInput("downloadData","Save My Data Frame:",value="Data Frame 1"),
downloadButton('downloadData','Save my file!')
),
mainPanel(
tabPanel("Some Text",
h4(textOutput("caption2")),
tableOutput("mydf"),
value=3))
))
my 'server.R':
shinyServer(function(input,output){
# Creating files for download at the end
myout = reactive({
if(input$goButton==0) return(NULL)
nrruns=input$NumRuns
mylist=NULL
for(i in 1:nrruns){
mylist[[i]]<-data.frame(a=rnorm(10),b=runif(10))
names(mylist)[i]<-paste("dataframe",i,sep="")
}
return(mylist)
})
output$mydf <- renderTable({
if(input$goButton==0) return(NULL)
input$goButton
isolate(
myout()$dataframe1
)
})
output$downloadData <- downloadHandler(
filename = function() { paste(input$downloadData, " ",Sys.Date(),".csv",sep="") },
content = function(file) {
write.csv(myout()$dataframe1,file,row.names=F)
}
)
})
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…