Shinyapps与服务器断开连接,可能超出excel文件

时间:2016-07-20 19:23:24

标签: r excel shiny r-googlesheets

我创建了一个shinyapp,显示来自10,000次试验蒙特卡罗模拟的输出数据。模拟是整个足球赛季的238个团队,每个试验中每个团队跟踪七个变量(16.66亿个数据点)。模拟数据存储在excel文件中。

当我尝试从shinyapps.io运行应用时,ui.R加载得很好,包括excel表的一小部分(selectInput()命令中的团队名称)。在任何server.R加载之前,应用程序总是会崩溃(我的所有read_excel()命令都在server.R的最开始。这与我在其他方面做过的其他一些研究一起应用程序意外崩溃的例子让我相信我的excel文件太大而shiny无法处理。我将每个变量存储在excel的单独工作表中,每个工作表都有不同的read_excel()命令。我能够获得一个版本的应用程序,只存储7个不同的跟踪变量中的2个,以便在从单独的选项卡访问数据时正常工作。当我尝试从单个选项卡访问所有数据时,应用程序崩溃就像之前一样

我已尝试过shiny帮助页面中有关更改应用高级设置,实例,工作人员等方面的建议。没有任何更改。我检查了我的应用程序日志:

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]: 

我更改了我的excel文件,以便删除所有公式和格式,并且只存储值,但在运行任何server.R代码之前,应用程序仍然崩溃。我已经尝试将excel文件保存为.csv文件,但文件大小几乎相同,并且需要对我的代码进行大幅改动才能完全发挥作用,所以我没有进一步追求它。

我看过一些关于使用Google Sheet从应用程序写入数据的讨论。从Google表格中读取我的数据是解决此问题的更好方法吗?有没有人有其他解决方案?正在阅读我的Excel数据甚至是我的问题吗?

指向我的应用的链接:https://loghan.shinyapps.io/Season_Projections/

2 个答案:

答案 0 :(得分:0)

您可以在R中尝试使用openxlsx软件包。您可能会发现该软件包很有用。因为它读取数据的速度要快得多。它使用read.xlsx来读取excel文件。

答案 1 :(得分:0)

您可以使用.csv文件而不是.xls文件。 excel中两种格式之间的转换很容易,R更喜欢.csv文件。 要读取这些.csv文件,请在data.table包中使用fread。