我有一个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()
参数,但随后会导致其他错误,否则似乎没有任何区别。
感谢您的帮助!