R 本地运行的应用程序在部署到Shinyapps服务器时遇到错误
我做了一个分析某种科学数据的实验。简而言之,该程序通过分析用户提供的R 本地运行的应用程序在部署到Shinyapps服务器时遇到错误,r,encoding,shiny,locale,shinyapps,R,Encoding,Shiny,Locale,Shinyapps,我做了一个分析某种科学数据的实验。简而言之,该程序通过分析用户提供的.csv输入来工作,该输入具有已知参考样本的基因表达数据,以识别实验中未知细胞的类型 我可以在本地运行这个闪亮的应用程序,但当我在ShinyApps服务器上运行它时,plot brushing函数遇到一个错误,该错误不会导致完全崩溃,但它会提示一条红色错误消息,并且无法输出表摘要 我查看了几个SO和RStudio/shinny线程,发现由于不同平台上的文件编码不同而导致中断,因此出现了类似的问题。这些话题对我没有帮助 我尝试过的
.csv
输入来工作,该输入具有已知参考样本的基因表达数据,以识别实验中未知细胞的类型
我可以在本地运行这个闪亮的应用程序,但当我在ShinyApps服务器上运行它时,plot brushing函数遇到一个错误,该错误不会导致完全崩溃,但它会提示一条红色错误消息,并且无法输出表摘要
我查看了几个SO和RStudio/shinny线程,发现由于不同平台上的文件编码不同而导致中断,因此出现了类似的问题。这些话题对我没有帮助
我尝试过的一些东西可以在中找到,并链接
我尝试使用UTF-8编码重新保存我的server.R
和ui.R
文件以及输入的.csv
文件,但没有成功
预期结果是:
错误如下所示:
有趣的是,当我在绘图上刷某些项目时,我才注意到这个问题。在这里的示例图中,一些X值在刷牙时破坏了代码CD4.CTRL.LN
,T.4.LN.BDC
,CD8.CTR.LN
x的所有值均来自预分析,它们来自一个大数据框。我看不到任何与问题数据点相关的特殊字符
显示问题的日志对我来说相当神秘:
2019-07-31T20:39:56.688902+00:00 shinyapps[1053041]: Server version: 1.7.6-6
2019-07-31T20:39:56.688904+00:00 shinyapps[1053041]: LANG: en_US.UTF-8
2019-07-31T20:39:56.916208+00:00 shinyapps[1053041]: Using jsonlite for JSON processing
2019-07-31T20:39:56.688945+00:00 shinyapps[1053041]: R version: 3.5.3
2019-07-31T20:39:56.922032+00:00 shinyapps[1053041]:
2019-07-31T20:39:56.688946+00:00 shinyapps[1053041]: shiny version: 1.3.2
2019-07-31T20:39:56.922034+00:00 shinyapps[1053041]: Starting R with process ID: '23'
2019-07-31T20:39:56.688948+00:00 shinyapps[1053041]: httpuv version: 1.5.1
2019-07-31T20:39:56.688949+00:00 shinyapps[1053041]: rmarkdown version: (none)
2019-07-31T20:39:56.688966+00:00 shinyapps[1053041]: jsonlite version: 1.6
2019-07-31T20:39:56.688985+00:00 shinyapps[1053041]: RJSONIO version: (none)
2019-07-31T20:39:56.689180+00:00 shinyapps[1053041]: Using pandoc at /opt/connect/ext/pandoc2
2019-07-31T20:39:56.689013+00:00 shinyapps[1053041]: htmltools version: 0.3.6
2019-07-31T20:39:56.688965+00:00 shinyapps[1053041]: knitr version: (none)
2019-07-31T20:39:56.950579+00:00 shinyapps[1053041]:
2019-07-31T20:39:56.950581+00:00 shinyapps[1053041]: Listening on http://127.0.0.1:33950
....
Warning: Error in gsub: input string 1 is invalid in this locale
2019-07-31T20:43:38.699011+00:00 shinyapps[1053041]: 120: gsub
2019-07-31T20:43:38.699022+00:00 shinyapps[1053041]: 93: output$brushtop5
2019-07-31T20:43:38.699014+00:00 shinyapps[1053041]: 119: sanitize
2019-07-31T20:43:38.699051+00:00 shinyapps[1053041]: 13: runApp
2019-07-31T20:43:38.699015+00:00 shinyapps[1053041]: 118: print.xtable
2019-07-31T20:43:38.699053+00:00 shinyapps[1053041]: 12: fn
2019-07-31T20:43:38.699021+00:00 shinyapps[1053041]: 94: origRenderFunc
2019-07-31T20:43:38.699016+00:00 shinyapps[1053041]: 109: transform
2019-07-31T20:43:38.699055+00:00 shinyapps[1053041]: 7: connect$retry
2019-07-31T20:43:38.699017+00:00 shinyapps[1053041]: 108: func
2019-07-31T20:43:38.699056+00:00 shinyapps[1053041]: 6: eval
2019-07-31T20:43:38.699018+00:00 shinyapps[1053041]: 106: f
2019-07-31T20:43:38.699057+00:00 shinyapps[1053041]: 5: eval
2019-07-31T20:43:38.699019+00:00 shinyapps[1053041]: 105: Reduce
2019-07-31T20:43:38.699019+00:00 shinyapps[1053041]: 96: do
2019-07-31T20:43:38.699020+00:00 shinyapps[1053041]: 95: hybrid_chain
2019-07-31T20:43:39.087982+00:00 shinyapps[1053041]: 118: print.xtable
2019-07-31T20:43:39.087989+00:00 shinyapps[1053041]: 94: origRenderFunc
2019-07-31T20:43:39.087990+00:00 shinyapps[1053041]: 93: output$brushtop5
2019-07-31T20:43:39.087991+00:00 shinyapps[1053041]: 13: runApp
2019-07-31T20:43:39.087992+00:00 shinyapps[1053041]: 12: fn
2019-07-31T20:43:39.087984+00:00 shinyapps[1053041]: 108: func
2019-07-31T20:43:39.087994+00:00 shinyapps[1053041]: 7: connect$retry
2019-07-31T20:43:39.087986+00:00 shinyapps[1053041]: 105: Reduce
2019-07-31T20:43:39.088031+00:00 shinyapps[1053041]: 6: eval
2019-07-31T20:43:39.087987+00:00 shinyapps[1053041]: 96: do
2019-07-31T20:43:39.088034+00:00 shinyapps[1053041]: 5: eval
有没有办法解决这个问题?谢谢 我把问题解决了。事实证明,我在数据帧的一列中有一个非ASCII字符(ï) 我在回答这个问题时注意到了这一点。我之前没有意识到这个问题,因为这些特殊字符在应用程序使用的
.rds
文件中。在保存这些数据帧时,RStudio对其进行了相应的编码以正确显示,但这种编码在闪亮的服务器端造成了问题,因为它要求其所有组件都进行UTF-8编码
我想如果我在早期确保数据帧没有特殊字符,或者使用UTF-8编码来覆盖这些字符,我就不会有这个问题。我会记下这个问题的答案,但是,如果您有其他解决方案,请随意添加注释。您能将
服务器/用户界面代码简化为一个最小的完整可验证示例,并包含一个包含一个正常行和一个异常行的小CSV吗?我花了一些时间制作了一个reprex,当我正要将其添加到我的帖子中时,我找出了问题的原因。事实证明,我在其中一个数据列(“ï”)中有一个非英语字符。我将在下面的新帖子中用更多的句子来解释。谢谢你的关注!