互動模式和 R 指令碼

互動模式

使用 R 的最基本方式是互動模式。你鍵入命令並立即從 R 獲取結果

使用 R 作為計算器

通過在作業系統的命令提示符下鍵入 R 或在 Windows 上執行 RGui 來啟動 R. 你可以在下面看到 Linux 上的互動式 R 會話的螢幕截圖:

StackOverflow 文件

這是 Windows 上的 RGui,是 Windows 下 R 的最基本的工作環境: StackOverflow 文件

> 符號之後,可以輸入表示式。一旦輸入表示式,結果將由 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")

建立以下圖:

StackOverflow 文件

data(PlantGrowth) 載入示例資料集 PlantGrowth,其是乾燥的植物群的記錄,其受到兩種不同的處理條件或根本沒有處理(對照組)。該資料集以 PlantGrowth 的名稱提供。這樣的名稱也稱為變數

要載入你自己的資料,以下兩個文件頁面可能會有所幫助:

str(PlantGrowth) 顯示有關已載入的資料集的資訊。輸出表明 PlantGrowthdata.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 提示中一樣。因此,你的計算記錄在案。

新命令 pngdev.off 用於將箱線圖儲存到磁碟。這兩個命令必須包含繪圖命令,如上例所示。png("FILENAME", width = ..., height = ...) 開啟一個新的 PNG 檔案,其中包含指定的檔名,寬度和高度(以畫素為單位)。dev.off() 將完成繪圖並將繪圖儲存到磁碟。在呼叫 dev.off() 之前不會儲存輸出。