【发布时间】:2023-04-06 01:37:01
【问题描述】:
我有一个应用程序,我想根据用户输入从查找表中提取值。参考表是一个统计测试,基于对于用户输入的所有不同组合来说太慢而无法执行的计算。因此,所有可能性的查找表。
但是...现在该表大约为 60 MB(作为 .Rdata)或 214 MB(作为 .csv),如果我扩展可能的用户输入,它会变得更大。我已经将数据中的有效数字数量减少(减少到 3 个)并删除了行/列名称。
显然,我可以在响应式服务器功能之外预加载查找表,但加载该数据仍需要相当长的时间。有没有人有任何关于在 Shiny 中处理大量数据的技巧?谢谢!
【问题讨论】:
-
你试过
fread()或readRDS()吗?我想知道它们是否对您有所帮助。 -
如果 jazzurro 的建议仍然太慢,您可以考虑使用数据库。 mongodb 通过 rmongodb 与 R 配合良好。这样您就可以只查找您需要的内容,而且速度应该非常快。
-
感谢 jazzurro 和 jan 的建议。 readRDS 将表减少到 25 MB,因此更易于管理。如果初始读取仍然太慢,我会查看数据库选项。