来试试我的第一个小R包

作者: 小洁忘了怎么分身 | 来源:发表于2020-03-07 13:46 被阅读0次

    来试试我的第一个小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的顺序作为输入。
    后续添加函数、做出修改等等,我将在简书中继续更新。

    这些函数只是我拿来测试学习怎么写包,有一些地方值的改进,欢迎提出意见。

    相关文章

      网友评论

        本文标题:来试试我的第一个小R包

        本文链接:https://www.haomeiwen.com/subject/tgzqdhtx.html