宝藏R包tinyarray:常用图表一键收走

最近抽空整理了以前写的函数,规范tinyarray包,反复检查和优化,调整了好久,终于得到下面的check结果



今天把他提交到CRAN了(是提交不是接收哈,没有那么快)
整理了一下安装方式和里面的画图函数供大家参考。

1.安装方式

if(!require(tinyarray))devtools::install_github("xjsun1221/tinyarray")
library(tinyarray)

1.1在线安装

if(!require(devtools))install.packages("devtools")
if(!require(tinyarray))devtools::install_github("xjsun1221/tinyarray",upgrade = F)

1.2.本地安装

https://github.com/xjsun1221/tinyarray

点击这个页面的绿色按键code然后点击Download ZIP,下载到你的工作目录下,用devtools::install_local("tinyarray-master.zip",upgrade = F,dependencies = T)安装。

1.3.安装R包过程中可能出现的问题及解决办法

如果报错说xx包找不到,那就安装它。
如果报错信息中出现http,404,internet,url等关键词,说明是网络问题,一般来说本地安装即可解决。

2. 常用图表

动辄十几二十行的代码,每次复制还要改动,做多了实在是很麻烦,所以我写了一些画图函数,一开始是写着玩,后来发现还挺有用,逐步完善中。
今天找到了一个非常漂亮的热图配色,虽然是红黄蓝这么简单,但是越看越好看,越看越顺眼呐,就它了,可能很久都不会动这个配色了。

2.1热图、PCA、t-SNE、箱线图

先编一个示例数据

exp <-  matrix(rnorm(3000,sd = 3),nrow = 100)
colnames(exp) <- paste0("sample",1:30)
rownames(exp) <- paste0("gene",1:100)
exp[1:4,1:4]
#>         sample1   sample2    sample3    sample4
#> gene1 -2.026503 7.1928419 -6.5887243  1.0267023
#> gene2  1.098031 1.2868180  1.6771063  0.2968982
#> gene3 -2.768686 1.0838888 -0.6214766 -1.6120365
#> gene4  2.113145 0.6692397 -1.3044274 -3.3225924
exp[,1:10] = exp[,1:10]-runif(10,0,7)
exp[,21:30] = exp[,21:30]+ runif(10,0,7)
group_list <- factor(rep(c("A","B","C"),each = 10))
exp[1:4,1:4]
#>          sample1   sample2    sample3   sample4
#> gene1 -6.0031975  3.216147 -10.565419 -2.949992
#> gene2 -1.7947459 -1.605959  -1.215670 -2.595878
#> gene3 -5.3604331 -1.507859  -3.213224 -4.203784
#> gene4 -0.4283194 -1.872225  -3.845892 -5.864057
table(group_list)
#> group_list
#>  A  B  C 
#> 10 10 10

下面几个图的输入数据都是表达矩阵exp和分组信息group_list(因子),group_list的每个元素需要和表达矩阵的每一列对应。画图代码,已经简单到无以复加啦。

draw_heatmap(exp,group_list)

draw_pca(exp,group_list)

draw_tsne(exp,group_list,perplexity = 5)

ggheat(t(exp),group_list,show_colnames = F,show_rownames = F)

draw_boxplot(exp[1:6,],group_list)

2.2.火山图

这里的deseq_data是包里的内置数据,是DESeq2差异分析的结果表格。三大R包的差异分析结果绘制火山图,这个函数是都支持的,用pkg参数指定即可。

head(deseq_data)
#>                  baseMean log2FoldChange      lfcSE      stat        pvalue
#> hsa-mir-210    8477.61756       2.999675 0.12351512  24.28589 2.763408e-130
#> hsa-mir-122      66.55815       6.533945 0.27575590  23.69467 4.091886e-124
#> hsa-mir-155    1676.87858       3.490095 0.15302583  22.80723 3.887416e-115
#> hsa-mir-106b    863.34927       1.170438 0.05143452  22.75589 1.254723e-114
#> hsa-mir-508     128.07750      -4.514783 0.19906028 -22.68048 6.982192e-114
#> hsa-mir-21   482523.17286       2.168263 0.09914140  21.87041 4.970741e-106
#>                       padj
#> hsa-mir-210  1.525401e-127
#> hsa-mir-122  1.129361e-121
#> hsa-mir-155  7.152846e-113
#> hsa-mir-106b 1.731517e-112
#> hsa-mir-508  7.708340e-112
#> hsa-mir-21   4.573082e-104
draw_volcano(deseq_data)

2.3 韦恩图

输入数据是一个带有元素名字的列表,这几个元素名字会出现在韦恩图里。

x = list(Deseq2=sample(1:100,30),edgeR = sample(1:100,30),limma = sample(1:100,30))
draw_venn(x,"test")

2.4 KM-plot

KM-plot的代码也简化了,需要病人的生存信息,和用于分组的列。其他的参数看帮助文档咯。

x = survival::lung
draw_KM(meta = x,group_list = factor(x$sex),event_col = "status")

还有一些用于分析的函数,且听下回分解吧~

今天这个配色赏心悦目,心情甚好~

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,033评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,725评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,473评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,846评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,848评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,691评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,053评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,700评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,856评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,676评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,787评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,430评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,034评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,990评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,218评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,174评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,526评论 2 343

推荐阅读更多精彩内容