背景需求
对于生信分析而言,对结果的展示如何做到更方便合理,更好的与合作者沟通交流项目结果。能够自动生成一些可视化报告,成了科研狗的刚需,R语言提供了多种解决方案,比较常见的是markdown格式,可以友好生成网页版报告,但是对于后续科研文章撰写还存在不友好的问题。比如将结果统计表写到word里,我之前的操作方案,是下载成xls复制到word上,再慢慢修改格式,比较耗时耗力,实际上R语言具备自动生成word的功能,本篇主要介绍如何配置R环境达到这样的目的。
坑1
简单搜索发现R包ReporteRs可以实现.
于是着手安装install.packages(“ReporteRs”),可以目前已经下架了1
2
3
4
5
6
7Warning in install.packages :
package ‘ReporteRs’ is not available (for R version 3.5.1)
Error in library(ReporteRs) : there is no package called ‘ReporteRs’
#检索后
You can not solve that as it has been removed from CRAN
(you can find details on the github page https://github.com/davidgohel/ReporteRs).
接着在 GitHub上安装
1 | devtools::install_github('davidgohel/ReporteRsjars') |
各种报错接踵而来,首先JAVA版本不对,需要6-8的版本,目前最新的Java版本不适用该包。
填坑开始安装8版本Java1
2
3
4➜ [/Users] java -version
java version "1.8.0_211"
Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)
坑2
填完这个发现并不管用,安装rJava后,载入失败。1
2
3
4
5
6
7
8Error: package or namespace load failed for ‘rJava’:
loadNamespace()里算'rJava'时.onLoad失败了,详细内容:
调用: dyn.load(file, DLLpath = DLLpath, ...)
错误: 无法载入共享目标对象‘/Library/Frameworks/R.framework/Versions/3.4/Resources/library/rJava/libs/rJava.so’::
dlopen(/Library/Frameworks/R.framework/Versions/3.4/Resources/library/rJava/libs/rJava.so, 6): Library not loaded: /Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home/lib/server/libjvm.dylib
Referenced from: /Library/Frameworks/R.framework/Versions/3.4/Resources/library/rJava/libs/rJava.so
Reason: image not found
错误: 无法载入程辑包‘rJava’
查了一下发现这是因为检索不到对应的动态库,给出解决方案1
sudo ln -f -s $(/usr/libexec/java_home)/lib/server/libjvm.dylib /usr/local/lib
这波操作完成,rJava包载入正常了。
坑3
于是鼓起勇气继续安装ReporteRs
发现还是不行,真是日了狗了,有点放弃的年头,查了不少材料,让我安装gcc啥的,问题我的电脑自带gcc啊。
后来还是找到官方给出的问题解答博客,发现我的电脑缺少cairo工具1
2
3
4
5
6brew install cairo
devtools::install_github("davidgohel/gdtools")
devtools::install_github("davidgohel/rvg")
devtools::install_github("davidgohel/ReporteRs")
终于可以顺利安装了。
测试一下发现效果确实不错,生成的work格式比较实用,后续可以深入研究美化图表。
填坑之路漫漫兮,吾将上下而求索。
参考材料:
https://blog.csdn.net/leolotus/article/details/50978223
https://github.com/davidgohel/ReporteRs
https://d.cosx.org/d/420035-mac-rjava
https://davidgohel.github.io/ReporteRs/articles/faq.html