R package of shinyapp

栏目: R语言 · 发布时间: 5年前

内容简介:给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 转载请注明出处


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

我用微软改变世界

我用微软改变世界

保罗·艾伦 / 吴果锦 / 浙江人民出版社 / 2012-3 / 46.00元

《我用微软改变世界(微软联合创始人保罗•艾伦回忆录)》内容简介:1975年,两个从大学退学的男孩夜以继日地设计一款软件。其中一个男孩就是后来的世界首富比尔盖茨,而另外一个则作为盖茨背后的男人,一直生活在盖茨的阴影里,其实,他的人生经历远比盖茨更为传奇和丰富。 16岁,与比尔盖茨在顶级名校湖畔中学相遇,成为最佳拍档,无数趣事,无数闹腾,高呼“处男万岁”还不够,还得意扬扬把这话刻在碑上留给学弟们......一起来看看 《我用微软改变世界》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具