可视化
R绘图系统主要有两个体系,传统的Graphics和Grid体系,基本所有的绘图包都是基于这两个体系,其中著名的lattice和ggplot2都是基于grid体系,其他有些包是对lattice和ggplot的封装。
ggplot2
使用频率最高的绘图包
ggthemr
ggplot主题设置
ggthemes
ggplot主题设置
gridextra
ggplot绘图多图组合
ggsignif
ggplot插件,给boxplot添加显著性标注
lattice
常用绘图包
graphics
R基础绘图包
igraph
绘制网络图
circlize
绘制circos图
rCircos
绘制circos图
corrplot
相关性矩阵可视化
pheatmap
heatmap可视化
Complexheatmap
heatmap可视化
ggtree
绘制进化树
vennDiagram
绘制venn图
rgl
3D图可视化
cairo
高质量png、tiff、pdf图片保存
数据清洗
数据分析过程中,有80%的时间都是在做数据整合和清洗,一个好的封装包,能使我们事半功倍,比如dplyr和tidyr:
dplyr
数据清洗神器
tidyr
数据融合神器
reshape2
数据融合
rlist
list数据类型处理工具箱
颜色设置
发表文章不光是要数据可靠,图形同样需要好看,才能引人注目,自然少不了图形配色,其中的佼佼者RColorBrewer:
RColorBrewer
配色神器,和ggplot2绝配
colorspace
另一款颜色设置包
viridis
又一款颜色设置神器
统计分析
R的另一个重要功能,怎能少了统计分析,常规的统计R基础函数自然搞得的定,但是有些专业领域不乏优秀开发者的贡献,比如回归分析之glmnet、psych,生态分析之vegan、ade4等,数据挖掘之e1071、randomForest、caret等等:
vegan
生态学数据分析,vegdist函数计算各种距离,NMDS、RDA、CCA等分析
psych
统计分析
car
统计分析
glm
广义线性模型
glmnet
线性回归模型,LASSO回归,正则化
pwr
功效分析
ade4
生态学数据分析,PCA、PCoA等分析
ape
聚类以及进化分析
DEseq2
RNA表达谱分析
edgeR
RNA表达谱分析
e1071
数据挖掘之SVM分析
randomForest
数据挖掘之随机森林
caret
数据挖掘之分类
和回归
survival
生存分析
clusterProfiler
基因富集分析
GSVA
基因富集分析
Hmist
数据分析,函数Cs很有用,Cs(so, it, goes) 产生c("so", "it", "goes")
scales
颜色、数学符号转换
broom
统计结果自动化收集整理
字符串处理
字符串处理并不是R的强项,但是并不代表R不能做,比如优秀的stringr、stringi。
stringr
字符串处理
stringi
字符串处理
R自带的函数grep、grepl、sub、gsub
字符串处理
数据读取
分析数据的第一步,就是把数据导入到R中,大部分情况下R自带的read.*系列可以搞定,但是R自带函数读取大数据特别慢,又怎能少的了read.table。
read.table/read.csv
R基础读取文件函数
read.table
较大数据读取、处理,比data.frame速度快很多
readr
读取txt、csv文件
readxl
读取excel文件
rvest
网站爬取
xml2
读取XML文件
时间序列
时间序列的处理永远是那么的麻烦,感谢lubridate、zoo。
lubridate
时间序列处理
zoo
时间序列处理
其他
除了上述常用的包之外,还有一些优秀的R包,比如R包开发相关的devtools、testthat、roxygen2,管道符操作magrittr,自动化报告生成rmarkdown等。
devtools
R包开发必备
testthat
开发的R函数、程序测试
roxygen2
R包开发
magrittr
提供管道符操作
GetoptLong
R脚本参数设置
log4r
R脚本写日志的包
futile.logger
R脚本写日志的包
glue
可以用 {变量名} 的方式替换paste函数
foreach
R循环(dopar可以并行运行),返回list,注意和for的区别
riterators
迭代器,
减少内存使用
rmarkdown
批量生成报告