内容简介:给R包加上一个shinyapp是一个不错的想法,可以将shiny交互方式作为R包的usage instructions的补充,user在使用前能先了解下这个R包能做的事。。。。比如shinyjs的作者Dean Attali就给这个R包做了一个shiny网页,如:一般我们看到的最简单的R包(如myshinyapp)结构如下:
给R包加上一个shinyapp是一个不错的想法,可以将shiny交互方式作为R包的usage instructions的补充,user在使用前能先了解下这个R包能做的事。。。。
比如shinyjs的作者Dean Attali就给这个R包做了一个shiny网页,如: https://daattali.com/shiny/shinyjs-demo/
一般我们看到的最简单的R包(如myshinyapp)结构如下:
-myshinyapp
|--DESCRIPTION (描述文件,包括包名、版本号、标题、描述、依赖关系等)
|--R (函数源文件)
|--function1.R
|--function2.R
|--...
|--man (帮助文档)
|--function1.Rd
|--function2.Rd
|--...
|--...
如果要在R包中加入 app.R
,则需要在将其放在inst文件夹中(如果shiny有的一些加载文件、www文件夹,则一并放入其中),inst 文件夹下的任何文件在安装包的时候都将被复制到包的根目录下,此时R包结果如下:
-myshinyapp
|--DESCRIPTION (描述文件,包括包名、版本号、标题、描述、依赖关系等)
|--R (函数源文件)
|--function1.R
|--function2.R
|--runExample.R
|--...
|--man (帮助文档)
|--function1.Rd
|--function2.Rd
|--runExample.Rd
|--...
|--inst (存放有shiny相关文件)
|--shiny-examples
|--shinyapp
|--app.R
|--www
|--...
|--...
从上可看出 runExample.R
就是用于调用shiny的,用 system.file
函数来查找 app.R
文件所在路径,并用 shiny::runApp
来执行,如写个 runExample
函数,然后 Ctrl+Shift+Alt+R
加代码注释
#' Title
#'
#' @return
#' @export
#'
#' @examples
runExample <- function() {
appDir <- system.file("shiny-examples", "shinyapp", package = "myshinyapp")
if (appDir == "") {
stop("Could not find example directory. Try re-installing `myshinyapp`.", call. = FALSE)
}
shiny::runApp(appDir, display.mode = "normal")
}
由于在R代码中使用了shiny包,因此在DESCRIPTION文件中将shiny包作为依赖包写入
然后取官网找一个shiny程序代码做个示例,如: https://github.com/rstudio/shiny-examples
,取001-hello的 app.R
作为例子,放入shinyapp目录下
最后点击Rstudio上Build->Build and Reload加载myshinyapp包,再运行 myshinyapp::runExample()
生成shiny app
如果有多个shiny程序需要在R包中展示,则修改 runExample
函数,添加输入参数(代表需要展示的shiny程序名称,如shinyapp1, shinyapp2….),然后 myshinyapp::runExample("shinyapp1")
最后则是将R包上传至Github上,用 devtools::install_github
安装即可
本文出自于 http://www.bioinfo-scrounger.com 转载请注明出处
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
从问题到程序-用Python学编程和计算
裘宗燕 / 机械工业出版社 / 2017-6-1
本书是以Python为编程语言、面向计算机科学教育中的程序设计基础课程与编程初学者的入门教材和自学读物。本书以Python为工具,详细讨论了与编程有关的各方面问题,介绍了从初级到高级的许多重要编程技术。本书特别强调编程中的分析和思考、问题的严格化和逐步分解、语言结构的正确选择、程序结构的良好组织,以及程序的正确和安全。书中通过大量实例及其开发过程,展示了好程序的特征和正确的编程工作方法。此外,书中......一起来看看 《从问题到程序-用Python学编程和计算》 这本书的介绍吧!