花花写于2020-3-20 公司的第二期线上培训,我的部分还剩明天最后一次课,讲完又能休息一周。不过由于要增加数据挖掘线上新课,下周要做研发。剧透一下,线上的数据挖掘课要加上TCGA了,我表示鸭梨山大。
从使用者的角度,调用长篇使用文档用browseVignettes函数,比如:
browseVignettes("clusterProfiler")
从开发这的角度,创建这个文档,书中写的非常简单:
使用devtools::use_vignette("my-vignette")命令,即可生成指南的模板,为rmd格式。
修改文档后,和其他rmd文档一样,用knit预览即可。
但在使用过程中出现了问题:
devtools::use_vignette("my-vignette")
Error: 'use_vignette' is not an exported object from 'namespace:devtools'
这就很尴尬了,书上的原文出了问题,这可咋整。
根据报错信息,这个就约等于“找不到函数”,所以看了一下包里的函数,这个use_vignette是真的没有。
书和包都是hadlay写的,绝不会有错,这就说明devtools更新了,这个函数过时了。
寻找替代函数
我想到,可能是这个函数被替代了吧,所以搜一下有没有其他的含有vignette的函数:
x = ls("package:devtools")
> library(devtools)
> library(stringr)
> str_subset(x,"vignette")
[1] "build_vignettes" "clean_vignettes"
只有 "build_vignettes" "clean_vignettes"这两个,研究了一下 "build_vignettes" ,好像并不是use_vignettes的替代。
所以现在问题就是,找到含有这个函数的devtools版本,并且安装这个历史版本的包。
寻找历史版本
搜索devtools::use_vignette() deprecated,找到了这个链接:https://cran.r-project.org/web/packages/devtools/news/news.html
后来发现,这个函数在1.6版本中出现(2014年),2.1.0版本中被删掉了,19年7月更新的,而R包开发这本书写的时间比这早。
安装历史版本
搜索install.packages old version,找到了这个链接:
https://support.rstudio.com/hc/en-us/articles/219949047-Installing-older-versions-of-packages
其中给出了历史版本存放的位置,从中可以找到devtools:
https://cran.r-project.org/src/contrib/Archive/devtools/
从上面的链接里找到安装代码,替换一下链接就可以安装2.1.0的上一个版本,2.0.2就可以。
packageurl <- "https://cran.r-project.org/src/contrib/Archive/devtools/devtools_2.0.2.tar.gz"
install.packages(packageurl, repos=NULL, type="source")
然后就可以用了,费了一番功夫,不过也学到了一点新知识,即安装历史版本的R包。
书中后续都是在介绍rmarkdown的语法,那些我都会了,就不写了。
花花写于2020-3-20 公司的第二期线上培训,我的部分还剩明天最后一次课,讲完又能休息一周。不过由于要增加数据挖掘线上新课,下周要做研发。剧透一下,线上的数据挖掘课要加上TCGA了,我表示鸭梨山大。
从使用者的角度,调用长篇使用文档用browseVignettes函数,比如:
browseVignettes("clusterProfiler")
从开发这的角度,创建这个文档,书中写的非常简单:
使用devtools::use_vignette("my-vignette")命令,即可生成指南的模板,为rmd格式。
修改文档后,和其他rmd文档一样,用knit预览即可。
但在使用过程中出现了问题:
devtools::use_vignette("my-vignette")
Error: 'use_vignette' is not an exported object from 'namespace:devtools'
这就很尴尬了,书上的原文出了问题,这可咋整。
根据报错信息,这个就约等于“找不到函数”,所以看了一下包里的函数,这个use_vignette是真的没有。
书和包都是hadlay写的,绝不会有错,这就说明devtools更新了,这个函数过时了。
寻找替代函数
我想到,可能是这个函数被替代了吧,所以搜一下有没有其他的含有vignette的函数:
x = ls("package:devtools")
> library(devtools)
> library(stringr)
> str_subset(x,"vignette")
[1] "build_vignettes" "clean_vignettes"
只有 "build_vignettes" "clean_vignettes"这两个,研究了一下 "build_vignettes" ,好像并不是use_vignettes的替代。
所以现在问题就是,找到含有这个函数的devtools版本,并且安装这个历史版本的包。
寻找历史版本
搜索devtools::use_vignette() deprecated,找到了这个链接:https://cran.r-project.org/web/packages/devtools/news/news.html
后来发现,这个函数在1.6版本中出现(2014年),2.1.0版本中被删掉了,19年7月更新的,而R包开发这本书写的时间比这早。
安装历史版本
搜索install.packages old version,找到了这个链接:
https://support.rstudio.com/hc/en-us/articles/219949047-Installing-older-versions-of-packages
其中给出了历史版本存放的位置,从中可以找到devtools:
https://cran.r-project.org/src/contrib/Archive/devtools/
从上面的链接里找到安装代码,替换一下链接就可以安装2.1.0的上一个版本,2.0.2就可以。
packageurl <- "https://cran.r-project.org/src/contrib/Archive/devtools/devtools_2.0.2.tar.gz"
install.packages(packageurl, repos=NULL, type="source")
然后就可以用了,费了一番功夫,不过也学到了一点新知识,即安装历史版本的R包。
书中后续都是在介绍rmarkdown的语法,那些我都会了,就不写了。