【发布时间】:2018-10-03 06:45:01
【问题描述】:
我正在尝试将 Shiny 应用程序作为 R 包的一部分运行。我按照 Dean Attali 网站 (https://deanattali.com/2015/04/21/r-package-shiny-app/) 上列出的说明进行操作。
如该网站所示,我在我的 R 包中创建了如下目录:
- mypackage
|- inst
|- shiny-examples
|- myapp
|- ui.R
|- server.R
|- R
|- runExample.R
|- ...
|- DESCRIPTION
|- ...
然后,在我的 runExample.R 文件中,我使用了:
#' @export
runExample <- function() {
appDir <- system.file("shiny-examples", "myapp", package = "mypackage")
if (appDir == "") {
stop("Could not find example directory. Try re-installing `mypackage`.", call. = FALSE)
}
shiny::runApp(appDir, display.mode = "normal")
}
唯一的区别是我试图在上面的 function() 中输入一个参数。它被称为数据,所以我使用函数(数据=数据)。
但是,如果我运行 runExample(data=myData),这会导致与数据相关的错误(“'closure' 类型的对象不是子集”)。我相信这是因为 data=myData 没有成功传输到 Shiny 应用程序。任何有关如何解决此问题的想法将不胜感激!
【问题讨论】: