闪亮的应用在本地运行,但由于区域设置不同而部署失败

时间:2019-12-21 20:03:31

标签: r shiny

我有一个Shiny应用程序,您可以在其中上传文件,然后处理数据并显示相关输出。这在本地完全正常。但是,我已经使用Shinyapps.io部署了它,现在,尽管该应用程序最初看起来不错,但是显然数据处理出了问题。

我将data.table::fread()用于.csv文件,并将readxl::read_excel用于Excel文件。如果您上载.csv文件,则该应用程序将变灰,而如果您上载excel文件,则输出将显示,但基本上是空白的,就像没有数据一样。

日志中的关键错误都是这样的:

  

使用grepl警告(模式,向量,ignore.case = ignore.case,fixed =固定):在此语言环境中输入字符串2无效

我发现了一些相关的帖子,尽管不是专门关于已部署应用程序上的不同行为的。看着this one,看来有时候这与不同的脚本类型有关吗?数据中的元素之一是坐标,因此可能会引起问题。例如他们可能看起来像这样: E025° 50' 38"E

我对Sys.locale()有不同的输出。我在本地得到

  

LC_COLLATE =英语_United Kingdom.1252; LC_CTYPE =英语_United Kingdom.1252; LC_MONETARY =英语_United Kingdom.1252; LC_NUMERIC = C; LC_TIME =英语_United Kingdom.1252

在已部署的应用程序上

  

LC_CTYPE = en_GB.UTF-8; LC_NUMERIC = C; LC_TIME = en_GB.UTF-8; LC_COLLATE = en_GB.UTF-8; LC_MONETARY = en_GB.UTF-8; LC_MESSAGES = en_GB.UTF-8; LC_PAPER = en_GB .UTF-8; LC_NAME = C; LC_ADDRESS = C; LC_TELEPHONE = C; LC_MEASUREMENT = zh_CN.UTF-8; LC_IDENTIFICATION = C

我尝试将useBytes = TRUE用作gsub()grepl()参数,但随后会导致其他错误,否则似乎没有任何区别。

感谢您的帮助!

0 个答案:

没有答案