每个月新来的学徒我都会让他/她花十几个小时学习完我的B站R视频课程:

应该是我自己的学徒就贡献了一半的学习量吧,距离我夸下海口的10万工程师相差甚远,所以非常有必要放一些导学笔记,这个春节,难度你没有发现特别适合猫在家听视频搞学习吗?而且我们还有一系列免费数据分析提供给你:

我们推文里面提到的数据分析环节都是我非常有经验的, 对我来说是举手之劳,希望可以帮助到你!

  • 转录组数据分析的4个维度认识(数据分析继续免费哦) RNA-seq数据的2个分组差异分析

  • 根据感兴趣基因看肝癌免疫微环境的T细胞亚群差异

发送数据分析要求,以及简短的项目描述到我的邮箱 jmzeng1314@163.com 就有机会获得!

学徒导学笔记前言

我之前有看过R语言实战这本书的,对R语言的一些基本常识有一定的了解,安装了R和RStudio,跟着前几章一起敲敲代码。但是在实战过程中还是遇到了很多问题,有同学跟我推荐了生信技能树的R语言视频
https://www.bilibili.com/video/av25643438?from=search&seid=2551270350430081623下面是我的随笔,不系统的记录,是根据自己所需补充的知识点。

第1讲:介绍R语言的概括

查询安装过的包-packages里面搜搜,有的话就存在,可以通过这个命令查找包的位置

.libPaths()[1] "D:/R/R-3.5.3/library"

查找帮助文档,学习R语言是非常有效果的

?想查询的包/函数?cbind#R的帮助文档非常齐全,可以直接跳过,把它对应的例子跟着运行下,就会对这个函数的应用有所了解!

第2讲:R语言基础变量讲解 32min

5种数据类型:向量,矩阵,数据框,数组,列表
创建方式变量之间有等级,字符和数值是一起的时候全部变成字符内置变量前面是变量,后面是赋值内容
把向量加上一个维度,就变成矩阵

dim(a)=c(2,5)

矩阵或者是数据框取元素的方式通过两种,一种是通过下标来取,另外一种是通过逻辑值来取值

#判断类型

数组忽略掉,用的少

数据框

找到学习规律,不用背代码

#判断数据类型

如果要问Jimmy问题,需要把问题组织好,节省时间,把变量存放成Rdata格式,然后把其它运行的代码注释掉(内心还是挺开心的,如果把问题写得清楚了,发邮件问他问他,可以试试看大神回复不回复)

从数据框取元素
1.通过下标来取元素

"RNA-Seq",a$Assay_Type)

最常用的是使用逻辑值判断后取值

'RNA-Seq'

还举个例子挺有用的

2

第3讲:外部数据导入导出

推荐使用

#这个函数来读取的,最好是在Excel里面打开再读取

考题是把行名给去除掉

F)

把变量保存为对应的.Rdata会更好点,下次load这个数据后会自动出现在环境中了,如下图所示:之前存着的变量就直接打开可以调用了。缺点是:只能使用R打开

Rdata

第4讲:中级变量操作

所有的函数都是有规律的所有函数都是有参数的

#最大值

通过上面的函数,得到对数据的初步判断,使用绘图的方式更加直观

#表示的横坐标是种类,纵坐标是数值大小

简单的运算-加减乘除这些的
下面是讲对每一行进行操作,同样的作用,不同的写法,可能越熟练的人写得代码越精简,越不好理解。

for (i 

函数的概念:可以自定义一个函数的

function(x){

每个人的需求是不一样的,一定要学会方法

jimmy function(b){  for (i in 1:nrow(b)){    x=as.numeric(b[i,])    y=x[1] + x[2] + x[3] - x[4]  }  print y}

jimmy(b)

随意的举个例子:这个例子输入对象是一个数据框或者是矩阵,通过循环每一行,操作是每一行的第一个元素加上第二个元素加上第三个元素再减去第四个元素。

另外一个点,这个比较常用的,就是使用这个函数来筛选排名前50的值

1,sd),decreasing = 

第5讲:热图17分钟

热图怎么画?

回答:就是一个R包-pheatmap

library(pheatmap)
1:

如图:

heatmap1
F)

但是看不出来对应的组有哪些,所以对每个样本进行命名

b=cbind(a1,a2)b=as.data.frame(b)names(b)=c(paste0(c("a"),1:20),paste0(c("b"),1:20))pheatmap(b,cluster_cols = F)

如图,左边是没有命名的,右边是命名的

heatmap2

那这样我们可以放心的让它们聚类了,因为选的数据集a1和a2差距大,所以能看到下图分离很开了。

b=cbind(a1,a2)b=as.data.frame(b)names(b)=c(paste0(c("a"),1:20),paste0(c("b"),1:20))pheatmap(b)#同上一步的差别在于,你对其进行了重新命名,然后需要数据按照列进行聚类分离开的,分离效果特别好,a和b这两个数据全部分离开了。

heatmap3

怎么学习一个R包
首先是把一个R包给定的例子给复制粘贴过来后,再一步步运行,看它有什么变化,需要自己去学习方法了。自己按照需求来学习
就去学习一个pheatmap这个包吧,作为练手的

第6讲:选取差异明显的基因做热图12

1000)

可以把上面的操作进行一个包装,让它变成函数,可以反复使用

plot_heatmap function(dat,group_list){  cg=names(tail(sort(apply(dat,, 1, sd)),1000))  library(pheatmap)  rownames(ac)=colnames(c)  pheatmap(n,show_rownames = F,show_colnames = F,annotation_col = ac)}#再使用它的时候就直接调用函数,给它两个参数就可以了

同样,可以把其它的也这样操作下

draw_P function(dat,group_list){  dat.pca FALSE)  fviz_pca_ind(dat.pca,  geom.ind = c("point","text"),col.ind = dat$group_list,palette = c("#00AFBB"),"#E7B800"),  legend.title="Groups")

}

第7讲:ID转换 12

讲解常用的匹配函数和合并数据框
字符串切割

library(stringr)

有个包就有注释关系,这个包是针对的芯片ID和ID之间的对应关系

library(org.Hs.eg.db)

#自己的数据集是有Ensemble ID的, g2e也有Ensemble ID,然后可以把他们进行关联a数据集:

"ensemle_id",all.x=
NA_integer_, incomparables = 

x  vector or NULL: the values to be matched. Long vectors are supported.
table  vector or NULL: the values to be matched against. Long vectors are not supported.
翻译过来:所有的table内容是按照x的顺序来排列
nomatch  the value to be returned in the case when no match is found. Note that it is coerced to integer.
incomparables  a vector of values that cannot be matched. Any value in x matching a value in this vector is assigned the nomatch value. For historical reasons, FALSE is equivalent to NULL.

判断重复的技巧

1)

这样就完成了转换ID

第8讲:任意基因任意癌症表达量分组的生存分析 7

意引用它的名字,让它输入,自己去复制,不会报错
学会R语言的基础变量结构,然后再进行调试了,才会的

第9讲:任意基因任意癌症表达量分组的生存分析

取命要避免跟函数名重名,会干扰后续分析的

res.aov 

aov:This provides a wrapper to lm for fitting linear models to balanced or unbalanced experimental designs.

第10讲:表达矩阵的样本的相关性分析

看相关性的问题:

cor(x,y)

怎么筛选表达矩阵的数据
TRUE 在数值上是等于1的,所以可以通过这个来判断

library(airway)

通过这个进行筛选后发现:

1,

使用了一个转换:

1)

这个函数:
Counts per Million or Reads per Kilobase per Million
Description:Compute counts per million (CPM) or reads per kilobase per million (RPKM).

1)

cor

第11讲:这个是对下游进行分析

首先是表达矩阵的构建
其中有一个错误

contrast.matrix "-"),levels = design)Error: unexpected input in "contrast.matrix -")?########后面的标点符号是中文模式下的,它识别不了,所以找不到contrast.matrix -"),levels = design)

DEG分析:

#DEG by limma

第12讲:RNA-seq表达矩阵下游分析数据分析

以airway数据集为例子进行讲解的:
使用了DESEQ进行分析的

第13讲:小作业等听完了再做

p14 R-1-学习资源介绍
可视化基础:STHDA这个网站
R语言实战这本书可以看下

#列出来所有的,跟Linux一样的

第15讲:R-2与Excel的区别

跟前面的有重合,主要是选取行或者是列进行排序,简单统计,

排序:列求和:
5种变量类型:向量,矩阵,数组,列表,数据框
读取数据的时候,要设置下:

F)

主要是针对数据框的操作:
数据框的要求:每一列的数据类型保持一致,列与列之间的数据类型可以不同。
R语言中是没有循环这个概念的;
不要使用c作为变量名称。

table(a$tissue)table(a[,a$tissue=="tail"])

第16讲:R-3简单统计与数学函数

讲了常用的函数,简单的统计量

第17讲:R-4-基础语法

#取数据集的方式:

字符串操作

strsplit#这个函数得到了一个List#通过使用lapply进行操作的#字符串分割函数:strsplit()#字符串连接函数:paste0()#计算字符串长度: nchar()#字符串截取函数:substr() substring()#字符串替换函数:chartr()#大小写转换函数:toupper() tolower() casefold()#Hadley Wickham开发的一个灵活的字符串处理包stringr

第18讲:高级数据处理技巧

apply 函数的使用

library(CLL)

多使用这个去检查下

#函数的使用,检测数据类型

第19讲:绘图该如何学习

多搜索,多去尝试下;

STHDA画图网站去学习;
R语言可视化的书可以参考下,怎么学习。

第20讲:R-7作业

晚上再做作业。

第23讲:系统性的入门R语言

跟之前的比较像,Excel与R的区别在于:可以另存为.Rdata的文件。

第24讲:可视化基础

多试,多查,多想下。

第25讲:可视化进阶

后面的爬虫之类的听了下,但是需要花时间再去理解下。

dcast(data,formula = V2~V1)#A formula of the form LHS ~ RHS to cast, see Details;列是基因,行是样本

第26讲:用shiny写一个计算器

这个主要是一个R语言编写网页交互工具,我感觉还挺好玩的,但是要理解的点很多,水平太low了,没法理解。

第27讲:R语言操作图片

这个我用不着,知道有这个资源,听完了,是用函数进行读取png

第28讲和第29讲:R语言爬虫

有趣的爬虫,有空了可以参考下试试。

第30讲:用R语言进行ID转换

这个主要讲解了match 函数,使用match对两个数据框根据某一个相同的列进行匹配,挺好用的函数。

第31讲:多个差异分析结果直接两两取交集和并集

需要Python编程,这个我看了下,觉得有点难,跳过了下。

第32讲:用R语言进行多个同样的行列式文件进行合并

这个就是前几天布置的作业,我要给它做完;
#推荐了这个教程-学习WGCNA总结。

第33讲:是用markdown制作转录组差异分析流程

这个看着写完后的效果,还是非常好的。准备接着32的作业跟着尝试写下
我之前看了B站的评价。

comment-good

当然还有下面的:

comment-bad

总结

讲真的,我刚开学得时候,跟这个伽兰德半自动的想法很相像,发现这个视频课不适合我这种一点概念都没有的人。后来自己补了下R语言实战的这本书后,再去看看生信技能树或者是菜鸟团布置的任务。转过头再来回顾下这个教程,的确在生信数据的实战中,这个教程很实在,跟下面的同学想法类似,干货还是很多,可能需要自己再额外花功夫去学习下,毕竟讲课的人跟我们所在的水平不在一条线上,所理解的程度不一样。

后面的打算是:跟着公众号-生信菜鸟团布置的作业题,去尝试做题目,熟练R语言,应用R语言。也许做完题后,再来温故这个视频课,又会得到不一样的理解。

还是非常感谢这个视频课的制作者,分了三期-从看视频的角度上来说,P1 - P13 作为第一期应该是最新的一期了,P14-P20是第二期;剩下的是第三期,中间会有知识点的重合,也有制作者的学习建议,挺好的,能够完整的制作下来,并免费分享,还有被解答的福利,真的是非常感谢生信技能树~

怎么看R语言是不是在运行_生信技能树R语言视频课听后感 (10万+的播放量就看这个春节)...相关推荐

  1. 生信学习——R语言学习总结

    写在前面--经过了四十天断断续续的学习,算是对R语言有了初步的了解.其实使用R语言,无非就是对数据进行处理分析,然后把结果可视化.但是数据的千变万化,还有数以万计的函数.数据格式,使得这个过程变得很复 ...

  2. 生信软件c语言,科学网—[转载]没有docker我真的不想动这样的生信软件 - 张成岗的博文...

    没有docker我真的不想动这样的生信软件 2020-03-26阅读 2620 C语言源代码需要编译的软件 最开始开发者都是C语言流派, 所以标准的源代码安装三部曲即可,即使 configure+ma ...

  3. R:生信技能树学习笔记一

    生信技能树小破站:R应该这样学1-4 1.查看已经安装的包的地址 .libPaths() 2.怎么查看函数用法 #在RStudio的右下角窗口的help可以看到 ?函数名 3.三个有用的函数 1.he ...

  4. R:生信技能树学习笔记二

    生信技能树小破站:R应该这样学5-7 1.热图 rm(list=ls()) library(pheatmap) a1=rnorm(100) dim(a1)=c(5,20) #设置维度 pheatmap ...

  5. 生物信息学软件_生信软件操作视频教程大赛

    楔子 朋友圈偶然看到由信息中心生命科学图书馆联合营养与健康院团委.研究生会.中科院创新创业俱乐部举办的2019年度生物软件操作视频征集大赛,虽然是生物软件操作大赛,但是里面列出来的几乎都是生物信息学软 ...

  6. r语言library什么意思_医学统计与R语言:百分条图与雷达图

    微信公众号:医学统计与R语言如果你觉得对你有帮助,欢迎转发 百分条图-输入1: library(ggplot2) 结果1: year 输入2: percentbar <- gather(perc ...

  7. 语言nomogram校准曲线图_医学统计与R语言:Meta 回归作图(Meta regression Plot)

    微信公众号:医学统计与R语言如果你觉得对你有帮助,欢迎转发 输入1: install.packages("metafor") library(metafor) dat.bcg 结果 ...

  8. 生信学习——R语言练习题-初级(附详细答案解读)

    题目目录 1. 打开 Rstudio 告诉我它的工作目录. 2. 新建6个向量,基于不同的数据类型.(重点是字符串,数值,逻辑值) 3. 告诉我在你打开的rstudio里面 getwd() 代码运行后 ...

  9. 【生信】R语言在RNA-seq中的应用

    R语言在RNA-seq中的应用 文章目录 R语言在RNA-seq中的应用 生成工作流环境 读取和处理数据 由targets文件提供实验定义 对实验数据进行质量过滤和修剪 生成FASTQ质量报告 比对 ...

  10. 以下描述中不属于python语言控制结构的是_高中信息技术《Python语言》模块试卷...

    高中信息技术<Python语言>模块试卷 本试卷分为五大题,37小题,共100分,考试用时60分钟. 一.单选题(本题共15小题,每小题2分,共30分) 是一门( ) (A)自然语言(B) ...

最新文章

  1. LeetCode实战:求众数
  2. 编写c语言程序 斐波那契,C语言程序实现斐波那契数列的解题思路???
  3. AndoridSQLite数据库开发基础教程(8)
  4. 霸王洗发水经理被指冲击报社殴打记者
  5. docker学习(一)ubuntu上安装docker
  6. python安装mysqlclient模块报fatal error: Python.h:解决方法
  7. 【shell编程基础0】bash shell编程的基本配置
  8. VC中树状控件(TreeCtrl)的用法
  9. 计算机组成原理作业3,兰州大学《计算机组成原理》13春在线作业3
  10. Python-OpenCV ·学习笔记
  11. Python操作Oracle
  12. springboot 配置mybatis
  13. oracle字段名小写,oracle表名、字段名大小写问题。
  14. ip地址分类和子网掩码
  15. mysql 标识列是什么,mysql中标识列是什么意思有什么用
  16. Win10系统下CMD命令提示符输入ipconfig命令无法使用的解决方法
  17. 武汉大学信管专业期末复习系列——《计算机网络》(谢希仁版)(网络层)
  18. 【软件安装】金蝶安装指南
  19. AtCoder Grand Contest 012 E - Camel and Oases 状压dp
  20. 【剑指Offer题解:java】树的子结构

热门文章

  1. mysql时间减去秒_mysql加减时间-函数-时间加减
  2. 【华南理工大学】PC客户端配置-如何在家连接学校的校园网
  3. web通用组件+Axure原型+Axure元件库+Axure后台管理系统框架模板+大屏数据可视化元件库+智慧社区管理系统大屏+图表组件+表单组合+智慧数据看板+通用大屏图表原件库+电脑端常用组件
  4. GnuTLS recv error (-54): Error in the pull function(解决方法)
  5. Struts框架可以支持以下哪种程序开发语言?(选择1项)
  6. Java打印菱形源码及介绍
  7. 数建--LINGO软件介绍
  8. Scikit-Learn 与 TensorFlow 机器学习实用指南学习笔记 3 —— 数据获取与清洗
  9. IntelliJ IDEA设置--类代码模板自定义(注释)
  10. 软件测试达内视频笔记(一)