来试试我的第一个小R包
花花写于2020-03-07
1.安装和加载
如果是初次使用,可用如下代码安装和加载:
if(!require(devtools))install.packages("devtools")
library(devtools)
if(!require(tinyplanet))devtools::install_github("xjsun1221/tinyplanet",upgrade = F)
library(tinyplanet)
如果是卸载重装,可用如下代码:
detach("package:tinyplanet") #允许报错
remove.packages("tinyplanet")
if(!require(devtools))install.packages("devtools")
library(devtools)
if(!require(tinyplanet))devtools::install_github("xjsun1221/tinyplanet",upgrade = F)
library(tinyplanet)
2.使用
可以正常查看帮助文档,用?函数名
的方式查看即可。
2.1 dumd 函数
统计数据框每列的重复值及重复的次数,例如iris
dumd(iris)
#> # A tibble: 5 x 2
#> colname count
#> <chr> <int>
#> 1 Petal.Length 43
#> 2 Sepal.Length 35
#> 3 Sepal.Width 23
#> 4 Petal.Width 22
#> 5 Species 3
2.2 四个自定义作图函数
这些图主要是针对差异分析的几个可视化图,把我喜欢和常用的风格写成了函数,依赖了不少其他的包,在安装我的小包时会帮你把这些依赖包也下载好。
这些函数如何用于差异分析流程,我会继续写的。如果你有一些基础,尤其是如果上过我的课,应该是可以很容易看懂,可以直接拿去用的~
# pca图
draw_pca(t(iris[,1:4]),iris$Species)
image.png
# 差异基因热图
exp = matrix(abs(rnorm(60,sd = 16)),nrow = 10)
exp[,1:3] <- exp[,1:3]+20
colnames(exp) <- paste0("sample",1:6)
rownames(exp) <- paste0("gene",1:10)
exp[1:4,1:4]
#> sample1 sample2 sample3 sample4
#> gene1 38.67613 29.14448 21.92881 12.061486
#> gene2 48.27199 28.32472 35.09922 10.410522
#> gene3 64.30529 34.95223 20.74459 13.678865
#> gene4 21.53832 48.81666 38.29281 4.678741
group_list = rep(c("A","B"),each = 3)
draw_heatmap(exp,group_list)
image.png
image.png
# 火山图
data("des")
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)
image.png
draw_volcano(deseq_data,pvalue_cutoff = 0.01,logFC_cutoff = 2)
image.png
# 三大R包选出的差异基因的韦恩图
x = sample(1:100,30);y = sample(1:100,30);z = sample(1:100,30)
draw_venn(x,y,z,"test")
韦恩图有一点注意,需要按照deseq2,limma,edgeR的顺序作为输入。
后续添加函数、做出修改等等,我将在简书中继续更新。
这些函数只是我拿来测试学习怎么写包,有一些地方值的改进,欢迎提出意见。
网友评论