如何将输入文件读入shiny?

3

我的亮闪闪的应用程序是基于单个.csv文件的数据。因此,我需要在启动时输入数据。这样,如果有人在他们的系统上打开应用程序,应用程序就可以立即显示结果。如何实现呢?


1
这里有一个例子,展示如何“永久性”地保存数据: https://dev59.com/lWsy5IYBdhLWcg3wvgn7 或者你也可以使用<<-将其写入全局环境。 - Pork Chop
1个回答

9
您有几个选择。我假设您知道如何使用read.csv或类似的方法将文件读入R中。
您可以在以下三个位置之一输入read.csv
1) Globlal.r: 如果您有一个global.r文件,您可以在那里使用read.csv,数据将直接可用于uiserver函数。通常情况下,您不需要这样做,但这是一种选择。
对于接下来的两个选项,数据将直接可用于server端,但必须通过其中一个render函数传递到ui端。
2)Server.r 但不在shinyServer中:在这种情况下,read.csv位于server.r文件中,但在shinyServer()函数之外。该文件将在每个会话中读取一次,并且不会更改。这是读取数据的常见位置。
3) Server.r并在shinyServer中:在这种情况下,read.csvshinySever()函数的一部分。如果您希望涉及某些反应程度,则这是读取数据的好地方。例如,如果用户选择要输入哪些数据,或者如果数据文件正在不断更新(可能是股票价格),并且您希望在用户工作时定期检查数据文件以获取更新。
注意:您还需要考虑数据存储的位置。您可以将其放在应用程序目录的子目录中,然后使用相对(而不是绝对)路径读取它。如果您正在桌面上测试应用程序,但要在其他地方部署它并且不希望重写代码以考虑新的目录结构,则这很有帮助。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接