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

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语言学习代码笔记)