2016-07-20 4 views
0

J'ai créé un shinyapp qui affiche les données de sortie d'une simulation Monte Carlo de 10 000 essais. La simulation porte sur une saison entière de football avec 238 équipes, suivi de sept variables pour chaque équipe dans chaque essai (16,66 millions de points de données). Les données de la simulation sont stockées dans un fichier Excel.Shinyapps se déconnectant du serveur, dépassant peut-être la limite de mémoire avec le fichier Excel

Lorsque je tente de lancer l'application à partir shinyapps.io, les ui.R charges très bien, y compris une petite partie de la feuille Excel (nom de l'équipe dans une commande selectInput()). L'application se bloque toujours avant l'une des charges server.R (toutes mes commandes sont au tout début de mon server.R.) Ceci, avec d'autres recherches que j'ai faites dans d'autres exemples d'applications qui se plantent de façon inattendue, me porte à croire que mon Excel Le fichier est trop grand pour être traité par shiny J'ai chaque variable stockée sur une feuille séparée dans Excel, avec une commande différente read_excel() pour chaque feuille J'ai été en mesure d'obtenir une version de l'application, en stockant seulement 2 des 7 variables de suivi différentes Lorsque j'essaie d'accéder à toutes les données à partir d'un seul onglet, l'application se bloque comme avant. paramètres avancés de l'application, instanc es, travailleurs, etc. Rien n'a changé. J'ai vérifié mes journaux d'applications:

2016-07-19T23:48:17.796234+00:00 shinyapps[115363]: 
2016-07-20T00:04:10.853831+00:00 shinyapps[115363]: Server version: 0.4.4.1986 
2016-07-20T00:04:10.853884+00:00 shinyapps[115363]: R version: 3.3.1 
2016-07-20T00:04:10.853895+00:00 shinyapps[115363]: shiny version: 0.13.2 
2016-07-20T00:04:10.853906+00:00 shinyapps[115363]: rmarkdown version: NA 
2016-07-20T00:04:10.853918+00:00 shinyapps[115363]: knitr version: NA 
2016-07-20T00:04:10.853948+00:00 shinyapps[115363]: jsonlite version: 1.0 
2016-07-20T00:04:10.853992+00:00 shinyapps[115363]: RJSONIO version: NA 
2016-07-20T00:04:10.854026+00:00 shinyapps[115363]: htmltools version: 0.3.5 
2016-07-20T00:04:11.030246+00:00 shinyapps[115363]: Using jsonlite for JSON processing 
2016-07-20T00:04:11.034832+00:00 shinyapps[115363]: 
2016-07-20T00:04:11.034838+00:00 shinyapps[115363]: Starting R with process ID: '50' 
2016-07-20T00:04:11.052472+00:00 shinyapps[115363]: 
2016-07-20T00:04:11.052477+00:00 shinyapps[115363]: Listening on http://0.0.0.0:50671 
2016-07-20T00:04:11.119620+00:00 shinyapps[115363]: Loading required package: ggplot2 
2016-07-20T00:04:11.341254+00:00 shinyapps[115363]: 
2016-07-20T00:04:11.341260+00:00 shinyapps[115363]: Attaching package: ‘plotly’ 
2016-07-20T00:04:11.341262+00:00 shinyapps[115363]: 
2016-07-20T00:04:11.341981+00:00 shinyapps[115363]: The following object is masked from ‘package:ggplot2’: 
2016-07-20T00:04:11.341984+00:00 shinyapps[115363]: 
2016-07-20T00:04:11.341985+00:00 shinyapps[115363]:  last_plot 
2016-07-20T00:04:11.341986+00:00 shinyapps[115363]: 
2016-07-20T00:04:11.342754+00:00 shinyapps[115363]: The following object is masked from ‘package:graphics’: 
2016-07-20T00:04:11.342755+00:00 shinyapps[115363]: 
2016-07-20T00:04:11.342758+00:00 shinyapps[115363]: 
2016-07-20T00:04:11.342757+00:00 shinyapps[115363]:  layout 
2016-07-20T03:20:09.766501+00:00 shinyapps[115363]: Server version: 0.4.4.1986 
2016-07-20T03:20:09.766562+00:00 shinyapps[115363]: R version: 3.3.1 
2016-07-20T03:20:09.766569+00:00 shinyapps[115363]: shiny version: 0.13.2 
2016-07-20T03:20:09.766574+00:00 shinyapps[115363]: rmarkdown version: NA 
2016-07-20T03:20:09.766575+00:00 shinyapps[115363]: knitr version: NA 
2016-07-20T03:20:09.766575+00:00 shinyapps[115363]: jsonlite version: 1.0 
2016-07-20T03:20:09.766603+00:00 shinyapps[115363]: RJSONIO version: NA 
2016-07-20T03:20:09.766604+00:00 shinyapps[115363]: htmltools version: 0.3.5 
2016-07-20T03:20:09.935430+00:00 shinyapps[115363]: Using jsonlite for JSON processing 
2016-07-20T03:20:09.939423+00:00 shinyapps[115363]: 
2016-07-20T03:20:09.939429+00:00 shinyapps[115363]: Starting R with process ID: '17' 
2016-07-20T03:20:09.955391+00:00 shinyapps[115363]: 
2016-07-20T03:20:09.955393+00:00 shinyapps[115363]: Listening on http://0.0.0.0:59412 
2016-07-20T03:20:10.045463+00:00 shinyapps[115363]: Loading required package: ggplot2 
2016-07-20T03:20:10.260363+00:00 shinyapps[115363]: 
2016-07-20T03:20:10.260369+00:00 shinyapps[115363]: Attaching package: ‘plotly’ 
2016-07-20T03:20:10.260372+00:00 shinyapps[115363]: 
2016-07-20T03:20:10.261097+00:00 shinyapps[115363]: The following object is masked from ‘package:ggplot2’: 
2016-07-20T03:20:10.261100+00:00 shinyapps[115363]: 
2016-07-20T03:20:10.261101+00:00 shinyapps[115363]:  last_plot 
2016-07-20T03:20:10.261834+00:00 shinyapps[115363]: The following object is masked from ‘package:graphics’: 
2016-07-20T03:20:10.261836+00:00 shinyapps[115363]: 
2016-07-20T03:20:10.261839+00:00 shinyapps[115363]: 
2016-07-20T03:20:10.261838+00:00 shinyapps[115363]:  layout 
2016-07-20T03:20:10.261102+00:00 shinyapps[115363]: 

J'ai changé mon fichier Excel afin que toutes les formules et le formatage est supprimé, et seules les valeurs sont stockées, mais l'application se bloque toujours avant d'exécuter tout le code server.R. J'ai essayé d'enregistrer le fichier excel en tant que fichiers .csv, mais la taille du fichier est à peu près la même, et il faudrait un changement drastique de mon code pour fonctionner pleinement, donc je ne l'ai pas poursuivi beaucoup plus loin.

J'ai vu parler d'utiliser Google Sheet pour écrire des données à partir d'une application. La lecture de mes données à partir de Google Sheets constituerait-elle une meilleure solution pour contourner ce problème? Est-ce que quelqu'un a d'autres solutions? Est-ce que lire mes données Excel même mon problème?

Un lien vers mon application: https://loghan.shinyapps.io/Season_Projections/

+0

Mise à jour: il est peu probable que les feuilles Google fonctionnent. Le nombre de valeurs uniques pour chaque variable de suivi (238 équipes * 10 000 essais = 2,38 millions de valeurs) dépasse la limite de cellules pour une seule feuille de calcul google (2 millions). Je ne savais pas que les feuilles de google avaient une limite de cellules. –

+0

Version de l'application qui fonctionne, mais avec seulement deux variables chargées dans l'application: [link] (https://loghan.shinyapps.io/2016_Projections/). Les données sont stockées dans deux feuilles distinctes. Essayer de mettre deux variables-valeur de données dans une seule feuille a eu le même problème. Certainement un problème lié à trop de données dans Excel. –

Répondre

0

Vous pouvez essayer openxlsx package R. Vous pouvez trouver le package utile. Comme il lit les données beaucoup plus rapidement. Il utilise read.xlsx pour lire le fichier Excel.

0

Vous pouvez utiliser des fichiers .csv au lieu de fichiers .xls. Les transitions entre les deux formats sont faciles dans Excel et R aime beaucoup plus de fichiers .csv. Pour lire ces fichiers .csv, utilisez fread dans le package data.table.