生信技能树 R习题 1-10

2024-06-03 19:20:07 浏览数 (1)

《生物信息学从业者就应该是这样学习R语言》1-5笔记


1.《如何系统入门R语言》

这一篇微信文章是2017年2月写的了,距离现在7年,语言生动有趣跟现在的风格还有点不一样,那时候曾老师竟然一个个回点评还用颜文字嘞,而且17年就自称老一辈的生信工程师(难道现在是木乃伊辈的生信工程师?),感觉好有趣,但是针对R的内容仍然非常准确。

python/perl/R的差别:初级应用的R本质上是没有交互界面的excel

R入门的基础:下载R语言;下载R studio;学习help函数(不止是??,还有help("xxx"));学会安装包;自学R语言

推荐的书:《R in Action》、《The Art of_R Programming》(现在都有中文版了)

几大关键变量

str,class,names,row.names,col.names,length,unique,view,min,max,summay,table

(这里面summary感觉还挺少见到的)

可视化变量

列举了非常多的基础绘图函数

并推荐了Combining gene mutation with gene expression data improves outcome prediction in myelodysplastic syndromes(NATURE COMMUNICATIONS,2015,这些资源这么早就有了吗,学渣震惊)作者的GitHub(应该是指https://github.com/gerstung-lab/MDS-expression),这些图的配色好像彩虹糖啊可可爱爱的

来自Combining gene mutation with gene expression data improves outcome prediction in myelodysplastic syndromes-Figure 1来自Combining gene mutation with gene expression data improves outcome prediction in myelodysplastic syndromes-Figure 1

数据对象的高级操作

apply、aggregate、split

(嗯,看来我是没度过这个分水岭,多少年了这几个函数还是不会用)

来自Ruohan Li的R语言学习笔记来自Ruohan Li的R语言学习笔记

推荐的R视频和书以及其他网络资源

《A Handbook of Statistical Analyses_Using_R》 

《Modern Applied Statistics With S》 

《Introduction to Scientific Programming and Simulation Using R》 

《Mastering Scientific Computing with R》 

《Practical Data Science with R》 

《Data Mining explain using R》 

《ggplot2 Elegant Graphics for Data Analysis》 

《R Graphics Cookbook》 

《R Cookbook》 

《R in a Nutshell》 

《R Programming for Bioinformatics》 

《software for data analysis programming with R》

2.用R语言做逻辑回归

逻辑回归的特点:预测结果是TRUE | FALSE 的二分类

方法:1.构造数据集 2.glm函数建模 3.predict预测

代码语言:R复制
#首先有原始数据mydata
#mydata中作为因子的变量要使用factor函数转化为因子
mylogit <- glm(admit ~ gre   gpa   rank, data = mydata, family = "binomial")
summary(mylogit)
#mylogit即是成功建立的模型,通过summary函数来了解详情
newdata1$rankP <- predict(mylogit, newdata = newdata1, type = "response")
#这一行则是对新数据newdata1增加一列rankP,即预测结果

3.R语言中的排序,集合运算,reshape,以及merge总结

(这一篇看起来像没有加载好)

比较有用的是两个按列对数据框进行排序的代码

代码语言:R复制
dat[order(dat[,1]),]
#得到按照dat的第一列进行排序的数据框

dat[order(dat[,1],dat[,2]),] 
#得到先按照dat的第一列,再按照dat的第二轮进行排序的数据框

求集合的交、并、补

代码语言:R复制
A<-1:10
B<-seq(5,15,2)
C<-1:5

#求A和B的并集
union(A,B)
#[1]  1  2  3  4  5  6  7  8  9 10 11 13 15

#求A和B的交集
intersect(A,B)
#[1] 5 7 9

#求A-B
setdiff(A,B)
#[1]  1  2  3  4  6  8 10

#求B-A
setdiff(B,A)
#[1] 11 13 15

#检验集合A,B是否相同
setequal(A,B)
#[1] FALSE

#检验元素12是否属于集合C
is.element(12,C)
#[1] FALSE

#检验集合A是否包含C
all(C%in%A)
#[1] TRUE

match是一个特殊的函数,match(C,B)的结果同样与前面的向量等长,通过遍历了C里面的每一个元素,判断它们是否在B中出现过,如果出现就返回在B中的索引号,如果没有出现,就返回NA。

4.R语言入门学习路径 资源集(生信篇)

资源博,适合纯新手入门

5.R语言的最好资源,一个就够!

也是一篇资源汇总的文字,资源真的太多了

6.厦门大学不再提供R语言镜像

这一篇现在应该没有太多意义了

7.用R语言写爬虫收集整理所有开放期刊影响因子及审稿时长

一篇分析R可以如何分析杂志发文量的小内容

8.KEGG数据库的rest API(附带R语言小技巧)

这一篇是针对KEGG.db许久不更新,然后需要找属于某个pathway的基因集合时可以使用的方法

代码语言:R复制
library(KEGGREST)
listDatabases()

## ----get_organisms------------------------------------------------------------
org <- keggList("organism")
head(org)
keggGet('hsa05034')
gs <- keggGet('hsa05034') 
gs[[1]]$GENE
genes <- unlist(lapply(gs[[1]]$GENE,function(x) strsplit(x,';')[[1]][1]))
genes[1:length(genes)%%2 ==0]

9.【好书分享】《R语言实战(第2版)》

就是《R语言实战》

10.生信技巧第3课-请你务必学好R语言

这里的视频似乎看不了了,主要的内容和生信马拉松的课程基本相同

生信技能树

0 人点赞