我的闪亮应用程序基于单个.csv文件的数据。所以我需要在启动时输入数据。这样,如果有人在他们的系统上打开应用程序,结果将由应用程序正确显示。我怎样才能做到这一点?
答案 0 :(得分:9)
这里有几个选项。我假设您知道如何使用read.csv
或类似内容将文件读入R中。
您可以将输入read.csv
放在以下三个位置之一:
1)Globlal.r:如果你有一个global.r
文件,可以在那里使用read.csv
,这些数据将直接提供给ui
和server
函数。通常您不需要这样做,但它是一个选项。
对于接下来的两个选项,数据将直接提供给server
方,但必须通过其中一个ui
函数传递到render
方。
2)Server.r但不在shinyServer中:在这种情况下,read.csv
位于server.r
文件中,但位于shinyServer()
函数之外。该文件将在每个会话中一次读取,不会更改。这是读取数据的常见位置。
3)Server.r和shinyServer:在这种情况下,read.csv
是shinySever()
函数的一部分。如果您想要某种程度的反应性,这是一个阅读数据的好地方。例如,如果用户选择要输入的数据或者数据文件是否在不断更新(可能是股票价格),并且您希望在用户工作时定期检查数据文件以获取更新。
注意:您还需要考虑数据的存储位置。您可以将它放在app目录的子目录中,然后使用相对(非绝对)路径读取它。如果您在桌面上测试应用程序,但是要将其部署到其他地方并且不希望重写代码以考虑新的目录结构,这将非常有用。