洛克菲勒大學2021年生信課2:Introduction to R, session 2

上一篇文章是R語言的入門。涉及了一些最最基礎的知識,主要包括R裏的幾種數據類型。建議R語言零基礎的同學把第一講理解並掌握後,再進行這一講的學習。這一部分主要涉及了R語言中的循環,不僅講解了if, else if, while,for,還講解了一些function,例如apply()(之前總能在很多大神的教程中看到這個function,但是一直不理解究竟是怎麼work的,現在總算明白了)。另外講到了sapply()這個function也很有意思。
視頻地址:https://www.youtube.com/watch?v=GMx8A-p5L4E
網頁版PPT地址:https://rockefelleruniversity.github.io/Intro_To_R_1Day/presentations/slides/introToR_Session2.html#1

這裏原本還有幾頁PPT,但都是對第一講的回顧,很多內容重複,所以我就刪掉了。

NOTE: if()語句先判斷()裏的內容是不是符合邏輯上的TRUE,如果符合,則執行{}裏的命令;如果在邏輯上是FALSE,則不執行{}裏的命令。所以上面PPT裏,當x是TRUE時,執行了message這行命令,輸出的是x is true。而當x是FALSE的時候,則沒有輸出。

NOTE:但是多數情況下,無論if()裏是TRUE還是FALSE,我們總是希望能得到輸出,你希望知道what's going on。那麼你可以用else語句:

NOTE:需要注意的是else是在第一個{}之後馬上出現的,不用換行,並且else之後馬上跟着第二個{},也不用換行。

NOTE:如果你的判斷條件多餘2種可能,那麼你需要else if。你可以添加多個else if。

NOTE:else if語句是判斷語句。那麼接下來這個就是loops(循環),你可以限制某個命令被執行多少次:

NOTE: appendLF: logical: should messages given as a character string have a newline appended?如果是F,則輸出的字符在同一行;如果是T,則每個字符單獨佔一行。
toupper: Changes the case to upper.變成大寫。

NOTE: apply也是一種循環。可對某一個命令執行多次。這個function是上面三種裏最常用的一種。

NOTE:apply()裏的第二個參數是行/列,1代表行,2代表列,所以上面PPT的意思就是把matexample裏所有行”打印“出來。後面的collapse的功能就是把你指定的行或列裏的元素放在一起,作爲一個character,每個元素用分號隔開。所以最後輸出的都是用“”括起來的。

【練習時間】https://rockefelleruniversity.github.io/Intro_To_R_1Day//exercises/exercises/conditionsAndLoops_exercise.html

【答案】https://rockefelleruniversity.github.io/Intro_To_R_1Day//exercises/answers/conditionsAndLoops_answers.html

NOTE:在全局環境裏定義的參數數值,不會在function裏的重新定義而改變。除非在function()裏重新定義的時候使用“<<-”代替“<-”。

【練習時間】https://rockefelleruniversity.github.io/Intro_To_R_1Day//exercises/exercises/Functions_exercise.html

【答案】https://rockefelleruniversity.github.io/Intro_To_R_1Day//exercises/answers/Functions_answers.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章