生信第6天——學習R包亡哄。
R包是多個函數(shù)的集合,具有詳細的說明和示例布疙。
學生信蚊惯,R語言必學的原因是豐富的圖表和Biocductor上面的各種生信分析R包。包的使用是一通百通的灵临,我們以dplyr為例截型,講一下R包。
安裝和加載R包
1.鏡像設(shè)置
兩行代碼↓可以搞定儒溉,但這個方法并不適用于每個電腦宦焦,有一部分會失敗。隨緣顿涣,失敗的話就每次需要下載R包時運行這兩句代碼即可赶诊。
-
初級模式
在使Rstudio的時候為了加速包的下載,都會配置一個國內(nèi)鏡像园骆,最開始是要在Rstudio的程序設(shè)置中
初始配置
但是這個是CRAN的鏡像舔痪,如果要下載Bioconductor的包,這個鏡像是沒有辦法用的锌唾;另外即使設(shè)置了這里锄码,Rstudio也不是每次都能真的從CRAN去下載包,可以通過options()$repos來檢驗晌涕,很多時候還是無奈地回到了R的國外官網(wǎng)滋捶,速度超慢??
-
升級模式
為了保證我們可以自定義CRAN和Bioconductor的下載鏡像,其實是可以在Rstudio中進行設(shè)置的余黎,只需要運行這兩行代碼即可:
Snipaste_2020-04-08_20-27-17.png
但是這種方法還是有問題重窟,你下次再打開Rstudio會發(fā)現(xiàn),下載Bioconductor還是會回到官方鏡像惧财,可以查詢options()$BioC_mirror 試試巡扇,如果你的依然是自己設(shè)置的國內(nèi)鏡像,就不用管了垮衷;如果發(fā)現(xiàn)需要再重新運行一遍代碼進行設(shè)置厅翔,那么就需要繼續(xù)看下面的內(nèi)容。
- 高級模式
不想每次打開Rstudio都要運行一遍鏡像配置搀突,還要找之前的代碼去復(fù)制刀闷,就需要用到R的配置文件 .Rprofile
Snipaste_2020-04-08_20-30-17.png
這個文件的配置其實可以多樣(比如linux中我們在.bashrc文件中添加alias 作為快捷命令)
首先用file.edit()來編輯文件:
Snipaste_2020-04-08_20-31-04.png
然后在其中添加好上面??的兩行options代碼
Snipaste_2020-04-08_20-32-03.png
最后保存=》重啟Rstudio,這時你再運行一下:options()BioC_mirror 就發(fā)現(xiàn)已經(jīng)配置好了,就很方便地省了手動運行的步驟甸昏。
2.安裝
確保聯(lián)網(wǎng)再操作顽分。。施蜜。不然就尷尬了卒蘸。
R包安裝命令是install.packages("包")或者BiocManager::install("包")。取決于你要安裝的包存在于CRAN網(wǎng)站還是Biocductor花墩,存在于哪里悬秉?可以谷歌搜到澄步。
3.加載
下面兩個命令均可冰蘑。
安裝加載三部曲
示例數(shù)據(jù)直接使用內(nèi)置數(shù)據(jù)集iris的簡化版:
dplyr五個基礎(chǔ)函數(shù)
-
mutate(),新增列
Snipaste_2020-04-08_20-40-24.png
-
- select(),按列篩選
-
(1)按列號篩選
Snipaste_2020-04-08_20-43-17.png -
(2)按列名篩選
Snipaste_2020-04-08_20-44-31.png -
(3)filter()篩選行
Snipaste_2020-04-08_20-45-39.png -
(4)arrange(),按某1列或某幾列對整個表格進行排序
Snipaste_2020-04-08_20-46-48.png -
(5)summarise():匯總
Snipaste_2020-04-08_20-48-06.png
dplyr五個基礎(chǔ)函數(shù)
-
管道操作 %>% (cmd/ctr + shift + M)
(加載任意一個tidyverse包即可用管道符號)
Snipaste_2020-04-08_20-49-43.png
-
-
2.count統(tǒng)計某列的unique值
Snipaste_2020-04-08_20-50-46.png
dplyr處理關(guān)系數(shù)據(jù)
即將2個表進行連接,注意:不要引入factor
-
1.內(nèi)連inner_join,取交集
Snipaste_2020-04-08_20-53-31.png -
2.左連left_join
Snipaste_2020-04-08_20-54-31.png -
3.全連full_join
Snipaste_2020-04-08_20-55-31.png -
4.半連接:返回能夠與y表匹配的x表所有記錄semi_join
Snipaste_2020-04-08_20-56-30.png -
5.反連接:返回無法與y表匹配的x表的所記錄anti_join
Snipaste_2020-04-08_20-57-31.png -
6.簡單合并
Snipaste_2020-04-08_20-58-19.png