I a téléchargé un fichier Excel dans R brillant en utilisant le code suivant:convertir Datatable de fichier CSV dans R
Server.r
#reative function to read a table
MDPData<-reactive({
file1<-input$MDPhistorical
if(is.null(file1)){return()}
z<-as.data.frame(read.xlsx(file1$datapath,sheetName = 'Probability Matrix'))
})
#file info
output$MDPDataTable<-DT::renderDataTable({
if(is.null(MDPData())){return()}
MDPData()
DT::datatable(MDPData(),extensions = 'Responsive', options = list(pageLength=3), class = 'cell-border stripe', selection = "single")
})
Les codes pertinents pour ui.r:
fluidRow(
box(
title = "Historical Data of different conditions", status = "primary", solidHeader = TRUE,
collapsible = TRUE,
DT::dataTableOutput("MDPDataTable")
)
)
Ensuite, je veux enregistrer MDPDataTable en tant que fichier csv. Je essayé d'utiliser write.csv:
write.xlsx(MDPDataTable,'www/probabilitymatrix.csv')
et l'erreur est la suivante:
Warning: Error in is.data.frame: object 'MDPDataTable' not found
Stack trace (innermost first):
42: is.data.frame
41: write.xlsx
40: server [C:\Users\foad\Desktop\DSS Journal\NSS Protorype\Nss-28-2-17/server.R#902]
1: shiny::runApp
Error in is.data.frame(x) : object 'MDPDataTable' not found
Vous ne voulez pas écrire la table HTML dans un fichier CSV, les données sont stockées dans 'MDPData()'. Utilisez 'write.xlsx (MDPData(), 'www/probabilitymatrix.csv')' bien qu'il soit difficile de savoir exactement où vous avez essayé de l'exécuter. Il doit être quelque part cet objet réactif est disponible. – MrFlick
Merci mais quand j'ai écrit MDPData, cela me donne une autre erreur: Attention: Erreur dans .getReactiveEnvironment() $ currentContext: Opération non autorisée sans un contexte réactif actif. (Vous avez essayé de faire quelque chose qui ne peut être fait qu'à l'intérieur d'une expression réactive ou d'un observateur.) Erreur dans .getReactiveEnvironment() $ currentContext(): Opération non autorisée sans contexte réactif actif. (Vous avez essayé de faire quelque chose qui ne peut être fait qu'à l'intérieur d'une expression réactive ou d'un observateur.) – user