gpt4 book ai didi

r - 在 shinyapps.io 上部署打包的 shiny-app

转载 作者:行者123 更新时间:2023-12-05 05:13:37 26 4
gpt4 key购买 nike

描述herehere , 有几种可能性可以将 Shiny 的应用程序开发为一个包并在线托管它。一种常见的方法是在包的 inst-Directory 中包含一个 ui.R 和一个 server.R 文件,并作为包的一部分编写一个函数,该函数使用这些文件调用 runApp()。

但是,要在线启动这个打包的应用程序,必须修改服务器上的文件结构,或者必须通过创建另一个脚本来调用启动应用程序的函数。据我所知,这是not possible on shinyapps.io .

因为我想要/必须使用 shinyapps.io,我的问题是:我怎样才能最好地在 shinyapps.io 上部署打包的应用程序?一种可能性是将包上传到 CRAN,手动将 ui.R 和 server.R 文件复制到一个新的应用程序中,包括包(以访问包中包含的所有其他功能,除了 UI 和服务器-逻辑),然后在 shinyapps.io 上部署这个应用程序。但是:还有其他/更好的可能性吗?

最佳答案

您可以尝试在 CRAN 上上传您的包并在您的 shinyApp 中调用它。这将为您提供包的所有功能以及可能对您的包感兴趣的其他人。这样做的缺点是,你将不得不经历大量的格式化、文档编制、错误检查、重建等。CRAN 对包必须“看起来”如何接受和托管它有相当严格的规定。至少你在检查的时候必须有0个错误和0个警告


如果您不想将它托管在 CRAN 上,您可以只将包中的所有功能包含在一个目录中,然后在您的 Shinyapp 中源代码这些文件。您可以在 global.R 文件内甚至在 server.R 文件内执行此操作,但在服务器函数之外。

----- ./App_Directory/
---------- 全局.R
---------- 服务器.R
---------- ui.R
---------- www/
-------------- 函数1.R
-------------- 函数2.R
-------------- function_etc.R

然后您可以通过将这些命令包含在您的 global.R/server.R 文件中来获取它们:

source("www/function1.R")
source("www/function2.R")
source("www/function_etc.R")

您也可以将所有函数直接放在您的全局/服务器文件中,但采购它们可能更有条理且更易于维护。

----- ./App_Directory/
---------- 全局.R
---------- 服务器.R
---------- ui.R

关于r - 在 shinyapps.io 上部署打包的 shiny-app,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53413813/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com