我的闪亮应用程序基于单个.csv文件的数据.所以我需要在启动时输入数据.这样,如果有人在他们的系统上打开应用程序,结果将由应用程序正确显示.我怎样才能做到这一点?
你有几个选择.我假设您知道如何使用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目录的子目录中,然后使用相对(非绝对)路径读取它.如果您在桌面上测试应用程序,但是要在其他地方部署它并且不希望重写代码以考虑新的目录结构,这将非常有用.