【Introduction】R語言入門關鍵小結

寫在前面:本博客爲本人原創,嚴禁任何形式的轉載!本博客只容許放在博客園(.cnblogs.com),若是您在其餘網站看到這篇博文,請經過下面這個惟一的合法連接轉到原文!html

本博客全網惟一合法URL:http://www.javashuo.com/article/p-ajbqnlis-cb.htmlpython

 

 

這幾天參加了學院組織的生物信息培訓活動,有一個部分講R語言入門,我的以爲受益良多,特將一些聽課心得記錄在此。shell

 

 

Introduction編程

 

R語言本質上和python、matlab同樣是解釋型語言,與編譯型語言不一樣,解釋型程序設計語言交付編譯器執行時是一條條執行的,也就是說邊執行邊檢查語法錯誤,當某一句代碼出錯時,編譯器直接跳過此句,繼續向後執行;編譯型語言則必須在提交執行以前經過編譯器檢查出源代碼工程文件中的全部語法錯誤。解釋型語言也能夠在集成開發環境IDE中以命令行的形式一句一句輸入執行。R語言是以統計爲目的的語言,主要用於數據處理和統計繪圖。 框架

本文主要內容:1、得到R;2RStudio入門;3、R語法入門;4、R繪圖入門。ide

 

一、得到R函數

 

(1)與python語言一致,得到R要先得到R的語言包:https://cran.r-project.org/,在此基礎上再安裝R語言的IDE動畫

(2)安裝集成開發環境RStuudio:https://www.rstudio.com/網站

(3)安裝完後,啓動RStudio見到此界面說明R語言包和RStudio安裝成功。搜索引擎

 

二、RStudio入門

 

(1)RStudio的常規界面主要分爲四大部分,每一部分都極其有用。通常使用RStudio的時候的工做環境是這樣的:

(2)左上角的部分是代碼編輯框。

(3)左下角是控制檯(console)和終端(terminal),通常使用左下角的控制檯(console)輸入單條或多條R語言命令對RStudio進行開發環境設置、編程全局變量調整、當前工做目錄調整,實際上相似Linux的shell。

(4)右上角那部分中的enviroment部分用來查看執行過程當中產生的中間結果和中間變量,這些中間結果能夠隨時導出、導入;而History部分能夠隨時查看你與左下角console進行交互的命令記錄。

(5)右下角的部分能夠管理R語言的組織文件(files)、畫圖(plots)、R語言外部代碼包的導入與刪除(packages)、查看R函數的具體信息和使用方法以及R函數的源代碼(help)。

(6)剛啓動成功的RStudio的原生態的R語言,也即此時的IDE內不包含任何外部導入的函數包,這樣的原生R語言不能知足常規的數據處理要求,要導入一些經常使用的函數包(packages)以發揮R語言的最大威力:

install.packages("gridExtra")
install.packages("pheatmap")
install.packages("reshape2")
install.packages("ggplot2")
install.packages("ggbeeswarm")
install.packages("ggpubr")
library(gridExtra)
library(pheatmap)
library(reshape2)
library(ggplot2)
library(ggbeeswarm)
library(ggpubr)

導入的包的方法很簡單,直接將上述命令複製到左下角console的命令行內,敲擊回車鍵執行便可:

每條install命令執行後會報英文提示,例如安裝ggpubr包成功會出現成功解壓和MD5驗證成功的提示:

安裝好的包能夠在右下角的packages選項卡中輸入名稱查找,若查找到相對於名字的包而且前面的install打勾則安裝成功,packages內部能夠輕鬆添加、升級、刪除R函數包:

 

(7)剛起步時運行他人的R源代碼會提示你缺乏必要的函數,可使用搜索引擎查找該函數所在的包的名字,並仿照使用包安裝命令安裝相應的函數包解決此類問題。

 

三、R語法入門

 

(1)完整的R語言語法能夠查看R語言官網的用戶入門手冊:

https://cran.r-project.org/doc/manuals/r-release/R-intro.html

https://cran.r-project.org/doc/manuals/r-release/R-intro.pdf

固然也能夠參照相關的中文博客。

(2)R語言的數據組織的核心是向量(vector)、矩陣(matrix)、表格(list)、數據框架(data fram,經常使用於ggplot2包畫圖的原始數據表示)。

 

四、R畫圖入門

 

(1)R最經常使用的畫圖手段是使用R函數包ggplot2內的函數進行畫圖,故而畫圖前應該要先在RStudio內安裝好ggplot2函數包。最簡單的啓動畫圖函數的方法是在RStudio左下角部分的console的命令行中輸入畫圖代碼回車直接執行:

輸入畫圖命令以前須要先在console執行激活畫圖包命令:

library(gridExtra)
library(ggbeeswarm)
library(reshape2)
library(ggplot2)

background<-(theme_bw()+theme(axis.text = element_blank(),axis.ticks = element_blank(),axis.title = element_blank(),legend.position = "none"))
fpkm<-read.table("data_for_JCB.txt",header=T,sep = "\t",row.names = "gene")
fpkm2<-as.data.frame(t(fpkm))
density_plot<-ggplot(fpkm2)+geom_density(aes(Zm00001d013156),fill="grey",alpha=0.7)+labs(title = "geom_density")+background
hist_plot<-ggplot(fpkm2)+geom_histogram(aes(Zm00001d006775),bins = 30)+labs(title = "geom_histogram")+background
fpkm2$tissue<-row.names(fpkm2)
point_plot<-ggplot(fpkm2)+geom_point(aes(tissue,Zm00001d006775))+labs(title = "geom_point")+background
bar_plot<-ggplot(fpkm2)+geom_bar(aes(tissue,Zm00001d006775),stat="identity")+labs(title = "geom_bar")+background
box_plot<-ggplot(fpkm2)+geom_boxplot(aes("Zm00001d013156",Zm00001d013156),fill="grey50")+geom_boxplot(aes("Zm00001d006775",Zm00001d006775),fill="grey50")+labs(title = "geom_boxplot")+background
violin_plot<-ggplot(fpkm2)+geom_violin(aes("Zm00001d013156",Zm00001d013156),fill="grey50")+geom_violin(aes("Zm00001d006775",Zm00001d006775),fill="grey50")+labs(title = "geom_violin")+background
bee_plot<-ggplot(fpkm2)+geom_beeswarm(aes("Zm00001d013156",Zm00001d013156))+geom_beeswarm(aes("Zm00001d006775",Zm00001d006775))+labs(title = "geom_beeswarm")+background
data<-melt(fpkm2[c(1:10),c(1:10,401)],id.vars = "tissue")
names(data)<-c("tissue","gene","FPKM")
tile_plot<-ggplot(data)+geom_tile(aes(gene,tissue,fill=log2(FPKM+1)))+labs(title = "geom_tile")+scale_fill_gradient2(high="red",low="blue",mid="white",midpoint = 6)+background
grid.arrange(density_plot,hist_plot,point_plot,bar_plot,box_plot,violin_plot,bee_plot,tile_plot,nrow=2)

執行後RStudio右下角部分的plots部分會出現繪圖結果:

 

 

tz,first initiated@croplab,HZAU

2019/7/17

相關文章
相關標籤/搜索