Je développe actuellement une application shiny permettant de trier des datas selon les modalités de l'utilisateur puis d'afficher un plot (histogramme) en conséquence.
Je voudrais proposer à l'utilisateur de télécharger les données qu'il vient de trier ainsi que le plot qui va avec.
Deux remarques :
- Avec le navigateur R, la fenêtre de téléchargement s'ouvre, mais le nom du fichier n'est pas celui que j'ai indiqué sur le code (cf code, le nom affiché est dl_plot)
- Ayant lu qu'il fallait être sur un navigateur extérieur j'ai réitérer le téléchargement sur Chrome. Même problème concernant le nom, et l'erreur suivante s'affiche : "Echec - Problème avec le serveur".
Ces erreurs concernent mes deux téléchargements, aucun ne marche..
PS : J'essaye de laisser le choix à l'utilisateur de télécharger le plot en format png ou pdf.
Ci joint mon code simplifié, en omettant certaines parties :
Code : Tout sélectionner
ui = fluidPage(
fluidRow(
column(12,
plotOutput("plot"))
fluidRow(
column(2, radioButtons("Format", label = "Selectioner le format du fichier", choices = list("png", "pdf"))),
column(4, downloadButton("dl_plot", "Télécharger l'histogramme")),
fluidRow(
column(12,
dataTableOutput("PCR"))
server = function(input, output) {
}output$dl_data = downloadHandler(
filename = function(){
return("PCR.xlsx")
},
content = function(file){
write_xlsx(dta[input$PCR_rows_all,], path = file)
}
)
output$dl_plot = downloadHandler(
filename = function(){
paste("PCR", input$Format, sep=".")
},
content = function(file){
if(input$Format =="png"){
png(file)
}else{
pdf(file)
}
ggplot(dta[input$PCR_rows_all, ], aes(x = Sample, y = Ratio, fill = Target)) + geom_bar(stat = "identity", position = "dodge")
}
)
Merci d'avance,
AR