互動模式和 R 指令碼
互動模式
使用 R 的最基本方式是互動模式。你鍵入命令並立即從 R 獲取結果
使用 R 作為計算器
通過在作業系統的命令提示符下鍵入 R
或在 Windows 上執行 RGui
來啟動 R. 你可以在下面看到 Linux 上的互動式 R 會話的螢幕截圖:
這是 Windows 上的 RGui,是 Windows 下 R 的最基本的工作環境:
在 >
符號之後,可以輸入表示式。一旦輸入表示式,結果將由 R 顯示。在上面的螢幕截圖中,R 用作計算器:型別
1+1
立即看到結果,2
。領先的 [1]
表示 R 返回一個向量。在這種情況下,向量只包含一個數字(2)。
第一個情節
R 可用於生成圖。以下示例使用資料集 PlantGrowth
,它與 R 一起作為示例資料集
將以下所有行中的 int 鍵入 R 提示符,該提示符不以 ##
開頭。以 ##
開頭的行用於記錄 R 將返回的結果。
data(PlantGrowth)
str(PlantGrowth)
## 'data.frame': 30 obs. of 2 variables:
## $ weight: num 4.17 5.58 5.18 6.11 4.5 4.61 5.17 4.53 5.33 5.14 ...
## $ group : Factor w/ 3 levels "ctrl","trt1",..: 1 1 1 1 1 1 1 1 1 1 ...
anova(lm(weight ~ group, data = PlantGrowth))
## Analysis of Variance Table
##
## Response: weight
## Df Sum Sq Mean Sq F value Pr(>F)
## group 2 3.7663 1.8832 4.8461 0.01591 *
## Residuals 27 10.4921 0.3886
## ---
## Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
boxplot(weight ~ group, data = PlantGrowth, ylab = "Dry weight")
建立以下圖:
data(PlantGrowth)
載入示例資料集 PlantGrowth
,其是乾燥的植物群的記錄,其受到兩種不同的處理條件或根本沒有處理(對照組)。該資料集以 PlantGrowth
的名稱提供。這樣的名稱也稱為變數 。
要載入你自己的資料,以下兩個文件頁面可能會有所幫助:
str(PlantGrowth)
顯示有關已載入的資料集的資訊。輸出表明 PlantGrowth
是 data.frame
,它是表的 R 名稱。data.frame
包含兩列和 30 行。在這種情況下,每行對應一個工廠。兩列的詳細資訊顯示在以 $
開頭的行中:第一列稱為 weight
幷包含數字(num
,相應植物的乾重)。第二欄,group
,包含植物所經受的處理。這是分類資料,在 R 中稱為 factor
。閱讀有關資料幀的更多資訊 。
為了比較三個不同組的幹質量,使用 anova(lm( ... ))
進行單向 ANOVA。weight ~ group
的意思是“比較列 weight
的值,按列 group
的值進行分組”。這在 R.中稱為公式 .data = ...
指定可以找到資料的表的名稱。
結果表明,除其他外,三組之間存在顯著差異(列 Pr(>F)
),p = 0.01591
)。必須執行像 Tukey 測試這樣的事後測試,以確定哪些組的平均值存在顯著差異。
boxplot(...)
建立資料的箱形圖。要繪製的值來自哪裡。weight ~ group
意思是:“畫出列權重的值相對於所述柱 group
的值 ylab = ...
指定 y 軸的標籤的更多資訊:。基地繪圖
輸入 q()
或 Ctrl - D 退出 R 會話。
R 指令碼
要記錄你的研究,最好將用於計算的命令儲存在檔案中。為此,你可以建立 R 指令碼。R 指令碼是一個簡單的文字檔案,包含 R 命令。
建立一個名為 plants.R
的文字檔案,並使用以下文字填充它,其中一些命令在上面的程式碼塊中是熟悉的:
data(PlantGrowth)
anova(lm(weight ~ group, data = PlantGrowth))
png("plant_boxplot.png", width = 400, height = 300)
boxplot(weight ~ group, data = PlantGrowth, ylab = "Dry weight")
dev.off()
通過在終端中輸入指令碼來執行指令碼(作業系統的終端,而不是上一節中的互動式 R 會話!)
R --no-save <plant.R >plant_result.txt
檔案 plant_result.txt
包含計算結果,就好像你已將它們輸入到互動式 R 提示中一樣。因此,你的計算記錄在案。
新命令 png
和 dev.off
用於將箱線圖儲存到磁碟。這兩個命令必須包含繪圖命令,如上例所示。png("FILENAME", width = ..., height = ...)
開啟一個新的 PNG 檔案,其中包含指定的檔名,寬度和高度(以畫素為單位)。dev.off()
將完成繪圖並將繪圖儲存到磁碟。在呼叫 dev.off()
之前不會儲存輸出。