内容简介:给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 转载请注明出处
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Data Mining
Jiawei Han、Micheline Kamber、Jian Pei / Morgan Kaufmann / 2011-7-6 / USD 74.95
The increasing volume of data in modern business and science calls for more complex and sophisticated tools. Although advances in data mining technology have made extensive data collection much easier......一起来看看 《Data Mining》 这本书的介绍吧!