美文网首页R语言作业
【生信技能树】R语言学习代码笔记

【生信技能树】R语言学习代码笔记

作者: 猫叽先森 | 来源:发表于2019-12-10 17:34 被阅读0次

    P1 【03期线下课程】01.介绍R语言及Rstudio编辑器
    视频地址:https://www.bilibili.com/video/av25643438?p=1
    P2 【03期线下课程】02.R语言基础变量讲解
    视频地址:https://www.bilibili.com/video/av25643438?p=2

    P3【03期线下课程】03.外部数据导入导出

    视频地址:https://www.bilibili.com/video/av25643438?p=3

    #从文件读入数据
    a=read.table("SraRunTable.txt",
        sep = '\t',
        header = T)
    b=read.table("GSE172215_series_matrix.txt.gz",
        sep = '\t',
        comment.char = '!',
        header = T)
    #把数据写到文件
    write.csv(b,"GSE172215_series_matrix.csv")
    write.csv(b,"GSE172215_series_matrix.csv",
        row.names = F) #去掉行名(第一列)
    write.table(b,"tmp.csv",sep = ',')
    d=read.csv("GSE172215_series_matrix.csv")
    
    rownames(b)=b[,1] #设置b的行名
    b=b[,-1] #删除b的第1列
    b=log2(b)
    pheatmap::pheatmap(b[1:10,])
    
    save(b,file='b_input.Rdata')
    load(file='b_input.Rdata')
    
    

    P4【03期线下课程】04.中级变量操作

    视频地址:https://www.bilibili.com/video/av25643438?p=4

    a=read.table("SraRunTable.txt",
        sep = '\t',
        header = T)
    sort(a$Mbases,decreasing = T)[1] # a$Mbases的最大值
    max()
    min()
    fivenum()
    a$MBases < 5000
    b <- a[a$Mbases<5000,]
    boxplot(a$Mbases~a$Assay_Type)
    
    wes <- a[a$Assay_Type == 'WXS',]
    rna <- a[a$Assay_Type == 'RNA-Seq',]
    
    b=read.table("GSE172215_series_matrix.txt.gz",
        sep = '\t',
        comment.char = '!',
        header = T)
    rownames(b)=b[,1] 
    b=b[,-1] 
    b=log2(b)
    
    as.numeric(b[1,])
    mean(as.numeric(b[1,]))
    mean(as.numeric(b[2,]))
    #循环
    #需求:求行平均值
    header(rowMeans(b))
    
    for (i in 1:nrow(b)) {
        print(mean(as.numeric(b[i,])))
    }
    
    apply(b,1,function(x){
        mean(x)
    })#第2个参数,对行处理为1,对列处理为2
    #需求:求每行最大值
    for (i in 1:nrow(b)) {
        print(max(as.numeric(b[i,])))
    }
    
    apply(b,1,function(x){
        max(x)
    apply(b,1,max)
    
    rowMax = function(x){
        apply(x,1,max)
    }
    rowMax(b)
    
    #需求:
    for (i in 1:nrow(b)) {
        x <- as.numeric(b[i,])
        y <- x[1]+x[2]-x[3]+x[4]-x[5]+x[6]
    jimmy <- function(b){
        for (i in 1:nrow(b)) {
            x <- as.numeric(b[i,])
            y <- x[1]+x[2]-x[3]+x[4]-x[5]+x[6]
            print(y)
        }
    }
    jimmy(b)
    
    cg=names(sort(apply(b,1,sd),decreasing = T)[1:50])
    pheatmap::pheatmap(b[1:50],)
    sample(1:nrow(b),50)
    pheatmap::pheatmap(b[sample(1:nrow(b),50)],)
    pheatmap::pheatmap(b[cg],)
    

    P5【03期线下课程】05.热图

    视频地址:https://www.bilibili.com/video/av25643438?p=5

    a1=rnorm(100)
    dim(a1)=c(5,20)
    a2=rnorm(100)+2
    dim(a2)=c(5,20)
    library(pheatmap)
    pheatmap(a1,cluster_rows = F, cluster_cols =F)
    pheatmap(cbind(a1,a2))
    pheatmap(cbind(a1,a2), cluster_cols =F)
    b <- cbind(a1,a2)
    b <- as.data.frame(b)
    names(b) <-c(paste('a1',1:20,sep='_'),paste('a2',1:20,sep='_')) 
    paste('a1',1:20,sep='_')
    pheatmap(b, cluster_cols =F)
    #pheatmap参数,scale
    tmp=data.frame(group=c(rep('a1',20),rep('a2',20)))
    rownames(tmp)<-colnames(b)
    pheatmap(b,annotation_col=tmp)
    
    pheatmap(cbind(a1,a2),show_rownames=F,show_colnames=F)
    
    
    #真实数据
    rm(list = ls())
    load('TCGA-KIRC-miRNA-example.Rdata')
    library(pheatmap)
    expr[1:4,1:4]
    expr=t(scale(t(log2(expr+1))))
    pheatmap(expr,show_rownames = F, show_colnames = F)
    table(substr(colnames(expr),14,15))
    group_list=ifelse(substr(colnames(expr),14,15)!='11','tumor','normal')
    table(group_list)
    annotation_col <- data.frame(group_list = group_list)
    rownames(annotation_col) <- colnames(expr)
    pheatmap(expr,show_rownames=F , show_colnames = F, 
            annotation_col = annotation_col)
    

    P6【03期线下课程】06.选取差异明显的基因的表达量矩阵绘制热图

    视频地址:https://www.bilibili.com/video/av25643438?p=6

    rm(list =ls())
    options(stringAsFactors = F)
    load(file = 'step1-output.Rdata')
    dat=dat[,-3]
    group_list=group_list[-3]
    dat[1:4,1:4]
    dim(dat)
    dat=log2(dat)
    dat[1:4,1:4]
    
    d_h <- function(dat,group_list){
        cg=names(tail(sort(apply(dat,1,sd)),1000))
        library(pheatmap)
        pheatmap(dat[cg,],show_colnames=F,show_rownames=F)
        n=t(scale(t(dat[cg,])))
        n[n>2]=2
        n[n<-2] = -2
        pheatmap(n,show_colnames=F,show_rownames=F)
        ac=data.frame(g=group_list)
        rownames(ac)=colnames(n)
        pheatmap(n,show_colnames=F,show_rownames=F,
                annotation_col = ac)
    }#包装成函数
    
    d_h(dat,group_list)
    
    dat <- dat[,-3]
    group_list <- group_list[-3]
    
    d_h(dat,group_list)
    
    

    P7 【03期线下课程】07.id转换

    P8 【03期线下课程】08.任意基因任意癌症表达量分组的生存分析

    P9 【03期线下课程】09.任意基因任意癌症表达量和临床性状关联

    P10 【03期线下课程】10.表达矩阵的样本的相关性

    P11 【03期线下课程】11.芯片表达矩阵下游分析

    P12 【03期线下课程】12.RNA-seq表达矩阵差异分析

    P13 【03期线下课程】R语言小作业-10题的答案

    P14 R-1-学习资源介绍

    P15 R-2-与excel的区别

    P16 R-3-简单统计及数学函数

    P17 R-4-基础语法

    P18 R-5-高级数据处理技巧

    P19 R-6-绘图该如何学

    P20 R-7-作业

    P21 【无声动画】Windows电脑安装R以及Rstudio

    P22 【无声动画】R-0-史上最贴心R包安装示范

    P23 【生信技能树】系统性的入门R语言

    P24 【生信技能树】R语言可视化基础

    P25 【生信技能树】R语言可视化进阶

    P26 【生信技能树】用shiny写一个计算器

    P27 【生信技能树】R语言操作图片

    P28 【生信技能树】R语言写爬虫

    P29 【生信技能树】用R语言爬取生信软件列表到思维导图

    P30 【生信技能树】用R语言进行ID转换

    P31 【生信技能树】多个差异分析结果直接量量取交集并集

    P32 【生信技能树】用R语言进行多个同样的行列式文件合并

    P33 #福利# 使用rmarkdown制作转录组差异分析结题报告

    相关文章

      网友评论

        本文标题:【生信技能树】R语言学习代码笔记

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