1.什么是R?
有人認為R是一種編程語言,這是一種常見的錯誤理解,因為R遠不止于此。將R視為統計計算和繪圖的環境,它匯集了許多函數,能夠提供強大的功能。
R環境結合了:
2.為什么用R?
開源、可視化、數據科學、統計計算、平臺無關(platform agnostic)
R是一個功能強大,可擴展的環境。它具備各種數據統計、通用數據分析和可視化功能。
3.什么是RStudio?
RStudio是免費提供的開源集成開發環境(IDE)。RStudio提供了一個具有很多功能的環境,使R更容易使用,是在終端中使用R的絕佳選擇。
4.在RStudio中創建一個新的project目錄
讓我們為今天的“R簡介”課程創建一個新的項目目錄。

5.RStudio界面
RStudio界面有四個主要面板:
6.組織你的工作目錄和設置
在組織工作目錄之前,先檢查當前工作目錄的位置,在控制臺中輸入命令:
getwd()
你的工作目錄應該是Intro-to-R,是你在創建project時一起新建的文件夾。工作目錄是RStudio讀取和保存文件的默認位置,除非另行指定。
可以通過Files從右下角窗口中選擇選項卡查看工作目錄種的文件。

如果要選擇其他文件夾作為工作目錄,可以在右下角Files選項卡中定位其他文件夾,單擊More下拉菜單并選擇Set As Working Directory。

要組織某個項目的工作目錄,應將原始數據(原始數據)與中間數據集分開。例如,可能希望在工作目錄中創建一個存儲原始數據的data/目錄,并具有中間數據集的results/目錄和要生成的圖的目錄figures/。
可以通過New Folder在Files選項卡中單擊來在工作目錄中創建這三個目錄。

完成后,工作目錄應如下所示:

我們將在接下來的幾節課中介紹幾個文件,點擊以下鏈接訪問。如果右鍵單擊該鏈接,并將“鏈接另存為…”,定位到工作目錄。即可看到該文件出現在工作目錄中。我們將在本課后稍后討論這些文件。
注意:如果文件自動下載到筆記本電腦上的其他位置,則使用文件瀏覽器或查找程序(在RStudio外部)將它們移動到工作目錄,或在RStudio右下方面板Files中跳轉目錄、瀏覽查找
設置長代碼自動換行,不用左右滾動查看長代碼。
單擊RStudio屏幕頂部的“Tools”,然后單擊下拉菜單中的“Global Options”。

在左側,選擇“代碼”并檢查“軟包裝R源文件”。確保單擊窗口底部的“應用”按鈕,然后單擊“確定”。

現在我們已經設置好了界面和目錄結構,開始玩轉R語言!在RStudio中與R交互有兩種主要方式:使用控制臺或使用腳本編輯器(腳本是包含代碼的純文本文件)。
該控制臺窗口(在RStudio,左下面板)是其中R是等著你來告訴它做什么的地方,在那里它會顯示每個命令的結果??梢灾苯釉诳刂婆_中鍵入命令,但session關閉時會清空。
我們來測試一下:
3?+?5

最佳做法是在腳本編輯器中輸入命令,然后保存腳本。我們鼓勵使用#自由注釋,以描述正在使用的命令。通過這種方式,可以完整記錄自己的操作,也可以可以輕松地向其他人展示你是如何做到的,如果需要,也可以重復運行某一操作。
Rstudio腳本編輯器允許通過單擊腳本編輯器右上角的Run按鈕將當前行或當前選中的文本“發送”到R控制臺。快捷鍵是Ctrl+Enter。
現在讓我們嘗試向腳本編輯器輸入命令,并使用注釋字符#添加描述并選中要運行的文本:
#?Intro?to?R?Lesson
#?Feb?16th,?2016
#?Interacting?with?R
##?I?am?adding?3?and?5.?R?is?fun!
3+5

選中要運行的命令,點擊Run,可以看到命令在控制臺中運行并輸出結果。

如果不加注釋符號#,運行同樣的命令,會發生什么?刪除前面的#符號后重新運行命令:
I?am?adding?3?and?5.?R?is?fun!
3+5
現在R試圖將該句子作為命令運行,但它不起作用。我們在控制臺中出現錯誤“Error: unexpected symbol in “I am” ,意味著R解釋器不知道如何處理該命令。*
解釋命令提示符有助于了解R何時準備好接受命令。下面列出了命令提示符的不同狀態以及如何退出命令:
(1)控制臺已準備好接受命令:>。
如果R準備好接受命令,則R控制臺會顯示>。
當控制臺收到命令時(通過直接鍵入控制臺或從腳本編輯器(Ctrl-Enter)運行,R將嘗試執行它。
運行后,控制臺將顯示結果并返回新>提示以等待新命令。
(2)控制臺正在等待輸入更多數據:+。
如果R仍在等待輸入更多數據,因為它尚未完成,控制臺將顯示+提示。這意味著命令不完整。通常是因為括號或引號不成對。
(3)轉義命令并獲得新提示:esc鍵
如果無法弄清楚為什么命令沒有運行,可以在控制臺窗口內單擊并按下esc以退出命令并返回新提示>。
練習
8.與R中的數據交互
R通常用于處理大數據,因此只有在數據處理實戰中理解R語言才有意義。我們之前已將兩個文件下載到工作目錄中。由于后期需要使用這些文件,因此我們需要花幾分鐘時間熟悉這些數據。
在這個示例數據集中,我們收集了來自12只小鼠的全腦樣本,并且想要評估它們之間的表達差異。表達數據表示從12個腦樣品的RNA測序獲得的標準化計數數據。該數據作為二維矩陣存儲在逗號分隔值(CSV)文件中,每行對應于基因,每列對應于樣本。

我們有另一個文件,我們在其中識別相關數據或metadata的信息。我們的元數據也存儲在CSV文件中。在此文件中,每行對應一個樣本,每列包含有關每個樣本的一些信息。
第一列包含行名稱,請注意這些行名稱與上面的表達數據文件中的列名稱相同(盡管順序不同)。接下來的幾列包含有關我們樣本的信息,這些信息允許我們對它們進行分類。例如,第二列包含每個樣品的基因型信息。每個樣品分為兩類:Wt(野生型)或KO(淘汰)。在其余列中觀察到哪些分類?

R特別擅長處理這類分類數據。數據不是簡單地將該信息存儲為文本,而是以特定的數據結構表示,該結構允許用戶以快速有效的方式對數據進行排序和操作。當我們學習R中的不同課程時,我們將更詳細地討論這個問題!
9.最佳實踐
在我們開始研究更復雜的概念并熟悉語言之前,我們想要指出一些關于使用R時最佳實踐的事情,這將有助于組織項目:

? 2025. All Rights Reserved. 滬ICP備2023009024號-1