第二部分編程包含4個(gè)章節(jié)
- 調(diào)用函數(shù)
- 條件和循環(huán)
- 編寫函數(shù)
- 異常值简识、計(jì)時(shí)和可見性
調(diào)用函數(shù)
R中3個(gè)重要的環(huán)境:全局環(huán)境屎勘、包環(huán)境和命名空間、本地和詞匯環(huán)境
全局環(huán)境是用戶自定義工作對(duì)象的區(qū)域月帝,ls
函數(shù)會(huì)輸出當(dāng)前全局環(huán)境中所有內(nèi)容的名字。
每個(gè)包環(huán)境代表控制搜索對(duì)象不同方面的環(huán)境测蹲。
本地環(huán)境也叫做詞匯環(huán)境僧须,這個(gè)環(huán)境包括所有被創(chuàng)建的對(duì)象端考、變量和可見函數(shù)图仓,包括在其執(zhí)行過程中所提供的任何參數(shù)罐盔。
用search()
查看R的搜索路徑。
在R中救崔,保留名稱是為了保護(hù)基本操作和數(shù)據(jù)類型惶看,例如if and else,for,while,and in,function等
參數(shù)匹配可以使用縮寫標(biāo)簽進(jìn)行局部匹配,用args
函數(shù)調(diào)用參數(shù)的位置匹配六孵。
條件和循環(huán)
if語句
if(condition){
do any code here
}
#條件在if后面纬黎,如果是T,就執(zhí)行大括號(hào)里的代碼劫窒,否則跳過莹桅,不執(zhí)行任何操作。
else 語句
if(condition){
do any code here if condition is TRUE
} else {
do any code in here if condition is FALSE
}
使用ifelse
函數(shù)檢查多個(gè)邏輯向量烛亦。
使用switch
函數(shù)代替if堆疊語句.
for 循環(huán)
for (loopindex in loopvector){
do any code in here
}
while 循環(huán),在不知道要運(yùn)行多少次的情況下懂拾,可以用while 循環(huán)
while (loopcondition){
do any code in here
}
apply 函數(shù)是隱式循環(huán)最基本的形式煤禽,通過函數(shù)應(yīng)用到數(shù)組的每個(gè)邊緣。
apply 有不同的變形岖赋,如tapply檬果、lapply、sapply等
break 終止循環(huán),next下一個(gè)迭代并持續(xù)進(jìn)行
repeat語句
repeat {
do any code in here
} #不包括任何循環(huán)索引或循環(huán)條件,用break 終止#
編寫函數(shù)
創(chuàng)建函數(shù)一般遵循以下標(biāo)準(zhǔn)模式
functionname<- function (arg1,ard2,arg3,...){
do any code in here when called
return)
}
異常值选脊、計(jì)時(shí)和可見性
warning
發(fā)出警告杭抠、stop
發(fā)出錯(cuò)誤
try
捕獲錯(cuò)誤
Sys.sleep
休眠執(zhí)行
detach
從路徑中刪除庫/對(duì)象
attach
添加對(duì)象到搜索路徑
入門生信最快方式請(qǐng)搜索生信技能樹
- 生信技能樹全球公益巡講
https://mp.weixin.qq.com/s/E9ykuIbc-2Ja9HOY0bn_6g - B站公益74小時(shí)生信工程師教學(xué)視頻合輯https://mp.weixin.qq.com/s/IyFK7l_WBAiUgqQi8O7Hxw
- 招學(xué)徒
https://mp.weixin.qq.com/s/KgbilzXnFjbKKunuw7NVfw