Je n'arrive pas à faire fonctionner correctement la fonction de téléchargement de fichier lorsque j'utilise une barre de navigation. Voici ce que j'ai pour server.R:Le téléchargement de fichier ne fonctionne pas avec la barre de navigation dans R Shiny
library(shiny)
library(markdown)
function(input, output) {
df <- NULL
current_file <- NULL
in_data <- reactive({
inFile <- input$file1
if (is.null(inFile)){
return(NULL)}
else {df <<- read.csv(inFile$datapath, header=input$header, sep=input$sep,
quote=input$quote)
current_file <<- inFile$name
}
return(NULL)
})
output$fileInfo <- renderTable({
call.me = in_data()
data.frame(current_file)
})
}
Et pour ui.RI ont ceci:
library(shiny)
library(markdown)
navbarPage('Navigation Bar',
tabPanel('File Information', verbatimTextOutput('fileInfo'),
sidebarLayout(
sidebarPanel(fileInput('file1', 'Choose CSV File',
accept=c('text/csv',
'text/comma-separated-values,text/plain',
'.csv')),
checkboxInput('header', 'Header', TRUE),
radioButtons('sep', 'Separator',
c(Comma=',',
Semicolon=';',
Tab='\t'),
','),
radioButtons('quote', 'Quote',
c(None='',
'Double Quote'='"',
'Single Quote'="'"),
'"'),
tags$hr()),
mainPanel()
)))
Je veux éventuellement avoir plusieurs onglets dans la barre de navigation, et je veux être en mesure pour accéder aux données de chaque onglet. Tout ce que je cherche à faire maintenant, c'est de me donner le nom du fichier téléchargé. Cela fonctionne très bien lorsque je n'essaie pas d'ajuster la barre de navigation. Mais maintenant, cela ressemble à une sorte de sortie HTML. Des conseils? Très appréciée.
Merci! Je suis assez nouveau à R Shiny. Pourquoi l'utilisation de variables globales est-elle une mauvaise idée? –
Il y a des cas où vous voulez utiliser des globals (voir http://rstudio.github.io/shiny/tutorial/#scoping) mais dans ce cas, vous ne voulez surtout pas que les données d'une session persistent dans une autre. Il peut en résulter des choses vraiment bizarres en fonction de ce que vous faites avec les données après leur chargement. Par exemple, des calculs erronés pourraient être exécutés avec les anciennes données et l'utilisateur n'aurait aucune idée – mlegge