【发布时间】:2014-09-17 15:44:24
【问题描述】:
我的闪亮应用基于单个 .csv 文件的数据。所以我需要在启动时输入数据。这样,如果有人在他们的系统上打开应用程序,结果就会以应用程序正确的方式显示。我怎样才能做到这一点?
【问题讨论】:
-
这里有一个示例如何“永久”保存数据stackoverflow.com/questions/8345759/… 或者您可以使用 将其写入全局环境
我的闪亮应用基于单个 .csv 文件的数据。所以我需要在启动时输入数据。这样,如果有人在他们的系统上打开应用程序,结果就会以应用程序正确的方式显示。我怎样才能做到这一点?
【问题讨论】:
这里有几个选项。我假设你知道如何使用 read.csv 或类似的东西将文件读入 R。
您可以将输入 read.csv 放在三个位置之一:
1) Globlal.r: 如果你有一个global.r 文件,你可以在那里使用read.csv,并且数据将直接提供给ui 和server 函数.通常您不需要这样做,但这是一种选择。
对于接下来的两个选项,数据将直接提供给server 端,但必须通过render 函数之一传递给ui 端。
2)Server.r 但不在 shinyServer: 在这种情况下,read.csv 位于 server.r 文件中,但在 shinyServer() 函数之外。该文件将在每个会话中读取一次,并且不会更改。这是读取数据的常见位置。
3) Server.r 和 shinyServer: 在这种情况下,read.csv 是shinySever() 函数的一部分。如果您希望参与某种程度的反应,这是读取数据的好地方。例如,如果用户选择输入哪些数据,或者数据文件是否不断更新(可能是股票价格),并且您希望在用户工作时定期检查数据文件是否有更新。
注意:您还需要考虑数据的存储位置。您可以将它放在应用程序目录的子目录中,然后使用相对(非绝对)路径读取它。如果您在桌面上测试您的应用程序,但打算将其部署到其他地方并且不希望重写代码以考虑新的目录结构,这将很有帮助。
【讨论】: