噸噸噸的生信技能樹r語言學習筆記(2)

學習bioconductor,后期會詳細看寫一個筆記
2018-05-R與Bioconductor的入門課_嗶哩嗶哩_bilibili

碎碎念:其實我覺得入門應該從第14課開始看,然后再回到前面看進階,特別是如果以前沒有怎么接觸r,會學的非常吃力,極度推薦先看王通老師的r語言入門

\color{green}{嘀嘀嘀俺又來了}
14.學習資源介紹
r語言博客:http://www.itdecent.cn/nb/22007361
統(tǒng)計學基礎:https://mp.weixin.qq.com/s/OtB2h6f00U2SRZLzveJKfQ
可視化基礎:http://www.sthda.com/english/wiki/data-visualization
bioconductor基礎:bioconductor.github.io/BiocWorkshops
書籍:r語言實戰(zhàn)
list.file()展示文件,和linux的ls一樣

15.與Exel的區(qū)別
read.table('文件名',sep='\t')
sum()
變量如何理解:賦值
變量類型:向量型vector,矩陣型matrix,數(shù)組型array,列表型list,數(shù)據(jù)框型dataframe
如何取行列:[]
which()獲取行號
table()統(tǒng)計并獲得資料

16.簡單統(tǒng)計及數(shù)學函數(shù)
t.test()
mean()
max()
fivenum()
mad()
......
\color{red}{自己多嘗試?。?!}

17.基礎語法

正則表達式
wxs=a[a[,1]=='WXS',] #第一列是wxs的
wxs=a[grepl ('WXS',a[,1]),]

wxs=a[which(a[,1]=='WXS'),]
wxs=a[grep('WXS',a[,1]),]

分割一列
strsplit()
#(其實separate函數(shù)也可以做到)
循環(huán)
第一種  
lapply(strsplit(tmp,','),function(x){cat(x)})
第二種  
for(x in l[1:4]){
printx([2])
}
sub() #substitution就是替代
unique()#去重

18.高級數(shù)據(jù)處理技巧
管道%>%

library(CLL)
library(airway)
suppressPackageStartupMessages(library(CLL))
data(sCLLex)
exprSet=exprs(sCLLex)   ##sCLLex是依賴于CLL這個package的一個對象
samples=sampleNames(sCLLex)
pdata=pData(sCLLex)
group_list=as.character(pdata[,2])
dim(exprSet)
apply(e,2,mean)
#apply很復雜

分列的新技巧
1.library(stringr)
str_split('a$library_name',',',simplify=T) [,2] #這里的simplify=T可以自動unlisted形成dataframe
2.do.call(rbind,strsplit(a$library_name,','))[,2]

19.繪圖應該如何學

a=read.csv('a.csv',stringsAsFactors=F)
boxplot(a$Mbases~a$Assay_type)
p=t.test(a$Mbases~a$Assay_type)$p.value
paste0('p value=',p)#就是把兩個粘起來

#讓他更加炫酷(s  thda上找一找)這個(dalao)不重要(xuyao)
ggplot啊,ggpubr啊。。。。。。

23.系統(tǒng)的入門r語言
1)如何學習:騰訊視頻,網(wǎng)易云課堂等各種資源,書本如r語言實戰(zhàn)等
2)r studio:現(xiàn)在已經(jīng)4.1.2了,安裝包blablabla
才發(fā)現(xiàn)我基本安裝的時候問update我都選的a
3)理解r和excel的異同

24.r語言可視化基礎
1)使用rmarkdown制作網(wǎng)頁:R markdown cheat sheet
2)ggplot2:ggplot2-cheatsheet
這要是打印一個就完了
可視化進階:總能找到一個抄的代碼hhh找一篇好看的文章然后抄襲就完了

25.用shiny寫一個計算器

library(shiny)
ui <- fluidPage(textInput('a','please input the first number:'),#inputid, label
                checkboxGroupInput('op','please choose a sign',
                                   c('+'='+',
                                     '-'='-',
                                     '*'='*',
                                     '/'='/',
                                     '%'='%%')),
                textInput('b','please input the second number:'),
                submitButton('do','calculator'),
                textOutput('result')
                )#創(chuàng)建一個流式布局
server=function(input,output){
  output$result=renderPrint({
    input$do 
    print(eval(parse(text=paste0(input$a,input$op,input$b))))
    })
}#parse()函數(shù)能將字符串轉換為表達式expression;eval()函數(shù)能對表達式求解
shinyApp(ui=ui,server=server)#調用該程序

更多學習shiny的知識有:
https://shiny.rstudio.com/articles/

26.r語言操作圖片
對圖片進行merge等操作,
使用’png'包等等
‘Imagemagick’

27.r語言寫爬蟲
網(wǎng)上查吧,感覺這些都是,你有需求的時候就會了,沒有需求你也懶得搞

28.r語言爬取生信軟件列表到思維導圖
我沒有網(wǎng)頁基礎知識hh所以跳過

29.r語言進行id轉換
代碼來源:
http://www.biotrainee.com/thread-941-1-1.html
http://www.biotrainee.com/thread-409-1-1.html

rm(list=ls())
 
library("hgu95av2.db")
ls('package:hgu95av2.db')
probe2entrezID=toTable(hgu95av2ENTREZID)
probe2symbol=toTable(hgu95av2SYMBOL)
probe2genename=toTable(hgu95av2GENENAME)
 
my_probe = sample(unique(mappedLkeys(hgu95av2ENTREZID)),30)
 
tmp1 = probe2symbol[match(my_probe,probe2symbol$probe_id),]
tmp2 = probe2entrezID[match(my_probe,probe2entrezID$probe_id),]
tmp3 = probe2genename[match(my_probe,probe2genename$probe_id),]
 
write.table(my_probe,'my_probe.txt',quote = F,col.names = F,row.names =F)
write.table(tmp1$symbol,'my_symbol.txt',quote = F,col.names = F,row.names =F)
write.table(tmp2$gene_id,'my_geneID.txt',quote = F,col.names = F,row.names =F)

r語言中的排序,集合運算,reshape以及merge的總結:https://cloud.tencent.com/developer/article/1055787

30.多個差異分析結果直接量取交集并集
網(wǎng)站:http://www.biotrainee.com/thread-1288-1-1.html

image
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容