美文网首页
2020.2.1 R语言|Practice1

2020.2.1 R语言|Practice1

作者: 哈喽迷人鬼们 | 来源:发表于2020-02-02 17:26 被阅读0次

    一、Day1今天的学习任务:

    1.R语言的基础语法检验

    2.统计可视化代码练习

    3.Jimmy生信技能树B站R系列课程P1——P6 

    二、操作过程及步骤含义

    1.首先要找到相应的分析数据,下载并导入外部数据

    rm(list = ls())

    options(stringsAsFactors = F)

    getwd()

    a=read.table('BioSample.txt',header = T, sep='\t')

    b=read.csv("sample.csv")

    2.使用merge函数将两个表格重复的名称部分关联起来,得到新表格d,进而取出我们关心的部分“MBases”和"Title"两列重组为表格e

    colnames(a)

    colnames(b)

    d=merge(a,b,by.x = 'Sample_Name',by.y = 'Accession')

    e=d[,c("MBases","Title")]

    3.存储表格e的数据内容并重新建立分析

    save(e,file = 'input.Rdata')

    rm(list = ls())

    options(stringsAsFactors = F)

    load(file = 'input.Rdata')

    4.读取e样本信息表格中第三列元素的统计情况(第三列元素代表样本所在plate信息),根据e的第一列数据和plate相关联,绘制boxplot图并将MBases分两组检验是否具有统计学显著差异

    e[,2]

    plate=unlist(lapply(e[,2],function(x){

      # x=e[1,2]

      x

      strsplit(x,'_')[[1]][3]

    }))

    table(plate)

    boxplot(e[,1]~plate)

    t.test(e[,1]~plate)

    5.e表格中增加一列plate分类,使用ggplot绘制出以MBases和plate为xy轴的箱线图

    e$plate=plate

    library(ggplot2)

    colnames(e)

    ggplot(e,aes(x=plate,y=MBases))+geom_boxplot()

    6.ggboxplot创建带有p-value值的箱线图并改变统计方法

    library(ggpubr)

    install.packages("magrittr")

    library(ggplot2)

    p <- ggboxplot(e, x = "plate", y = "MBases",

                  color = "plate", palette = "jco",

                  add = "jitter")

    # Add p-value

    p + stat_compare_means(method = 't.test')

    B站R语言系列听课过程中积累的函数知识点:

    1.read.table(x.csv) 导入数据

    2. write.csv(x.csv) 存储数据并导出

    3.comment.char="!"  注释所有以"!"开头的行名

    4.header= T 第一行成为行名,加行标题

    5.sep='\t' 以空格分隔符(统一与excel不同的行名定义)

    6.rownames= F 去掉行名

    7.sort(a$MBases, decreasing=T)[1] 取a中MBases中的最大值

    8.max(a$MBases) 取a中MBases列最大值

    9.min(a$MBases)取a中MBases列最小值

    10.fivenum(a$MBases)取a中MBases列的五分位数

    11.table(x) 分组计数

    12 .view(x) 浏览表格等

    13.as.numeric(x) 将x变为数字格式

    14.mean(x) 对x取平均值  rowmeans ()对某行取平均值  head(rowMeans())对每行取平均值

    15.for (i in nrow(b)) {

        I=1/2/....

       (print) mean(as.numeric(b[i,]))

        print的存在决定输出与否    

    16.apply(b,1,function(x) {

        mean(x)

        })

        同15一样为循环函数,apply循环与for循环的区别在于:

        apply把data.frame里面的每一行元素当作是一个元素

    17.apply(b,1,sd) 取每一行数据的方差

        eg:sort(apply(b,1,sd),decreasing= T )[1:50]

        取方差从大到小排列的前50

    18.sample(1:nrow(b),50) 在b的1到n行中取随机的50行

    19.sacle="row" 绘制热图时的归一化(减小最大值最小值对热图的影响)

    20.test=matrix(rnorm(200),20,10) 创建行20列10的随机数矩阵

    21. pheatmap(cbind(*1,*2))将热图1和热图2合并

    22. paste('a',1:20,sep="_") 快速编码

    a_1" "a_2" "a_3" "a_4" "a_5" "a_6" "a_7" "a_8" "a_9" "a_10" "a_11" "a_12" "a_13" "a_14" "a_15" "a_16" "a_17" "a_18" "a_19" "a_20"

    23. pheatmap (test, display_numbers=T) 显示热图每小格数据

    24. pheatmap(cellwidth=,cellheight=,fontsize=,filename=) 定义热图的基本属性

    25. rep(a1,20) 重复a1共计20次

    相关文章

      网友评论

          本文标题:2020.2.1 R语言|Practice1

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