【问题标题】:Embed more than 1 shiny application in Rmarkdown using shinyAppDir使用 shinyAppDir 在 Rmarkdown 中嵌入超过 1 个闪亮的应用程序
【发布时间】:2015-06-26 07:42:39
【问题描述】:

我想在 rmarkdown 中嵌入两个独立的闪亮应用。我应该把rmd 文件放在哪里?

当我只有一个闪亮的应用程序时,我将 rmd 作为闪亮的应用程序放在目录中,它可以工作。代码如下:

```{r, echo=FALSE}
shinyAppDir(
 "E:/example/shinyfolder",
  options=list(
    width="100%", height=550
  )
)

```

但是当我将rmd 移动到闪亮的应用程序文件夹的上层,比如E:/example 并使用我之前使用的确切绝对路径时,错误说cannot open compressed file './Data/joined1.rda', probable reason 'No such file or directory',我的想法是把@987654326 @ 在上层文件夹中并引用子文件夹中的不同应用程序。关于如何解决它的任何想法?

【问题讨论】:

    标签: r shiny r-markdown shiny-server


    【解决方案1】:

    这可能与您在闪亮的应用程序中使用相对路径有关。由于我假设joined1.rda 是您的闪亮应用程序之一尝试读取的数据文件,因此一旦闪亮的应用程序文件(server.Rui.R)不再与您的应用程序位于同一文件夹中,它就无法再找到它降价文件。使用相对于您的降价文件路径的路径,或在降价文件或应用程序中使用setwd() 明确设置一个。

    假设这样的文件夹/文件结构...

    /parentDir        (markdown.rmd)
        /apps
           /app1      (server.R, ui.R)
           /app2      (server.R, ui.R)
              /data   (joined1.rda)
    

    ...进一步假设您的工作目录是~/parentDir,您可以分别使用shinyAppDir(".apps/app1")shinyAppDir("./apps/app2") 嵌入闪亮的应用程序。

    在您闪亮的应用程序 (server.R) 中,您也可以使用 /data 文件夹的绝对路径(如果您真的想使用绝对路径...),或者根据您的工作目录使用相对路径.因此,如果第二个闪亮的应用程序(在/app2 中)从您的/data 文件夹加载数据,您使用load("./apps/app2/data/joined1.rda")

    【讨论】:

      猜你喜欢
      • 2015-10-10
      • 2016-02-03
      • 2020-10-21
      • 2017-12-22
      • 2016-01-06
      • 1970-01-01
      • 2014-03-26
      • 1970-01-01
      相关资源
      最近更新 更多