close

在上一講中,我們介紹了第三講 R編程基礎-矩陣和數據框。到現在為止,大家已經學完了R語言的基礎知識,馬上就開始進階地學習一些R語言相關的統計學技能了。

今天的更新,我們會帶您學習R的基本統計學技能:描述性統計分析。

1. 將數據導入R

1.1 準備好你的數據
命名約定

避免名稱帶有空格。

好的列名:patient_age或patient.age。

列名錯誤:patient age。

避免使用帶有特殊符號的名稱:?,$,*,+,#,(,),-,/,},{,|,>,<等。只能使用下劃線。

避免以數字開頭的變量名。請改用字母。

好的列名稱:patient_1st_meal或x1st_meal。

列名錯誤:1st_male

列名必須是唯一的。不允許重複的名稱。

R區分大小寫。這意味着名稱不同於名稱或名稱。

避免數據中出現空白行。

刪除文件中的任何評論。

用NA替換缺少的值(不可用)。

如果你有包含日期的列,請使用四位數格式。

格式良好:20160101。

格式錯誤:01/01/16

1.2 將數據保存在外部.txt標籤或.csv文件中
1.3 如下將數據導入R
# 對於.txt文件my_data <- read.delim(file.choose())
# 對於.csv文件my_data <- read.csv(file.choose())

在這裡,我們將使用名為iris的內置R數據集。

# 導入R內自帶的iris數據集library(datasets)data(iris)
# 將數據存儲在變量my_data中my_data <- iris
1.3 檢查數據

你可以使用head()和tails()函數檢查數據,這將分別顯示數據的第一部分和最後一部分。

# 顯示前六行內容head(my_data, 6)

輸出結果如下

Sepal.LengthSepal.WidthPetal.LengthPetal.WidthSpecies

15.13.51.4 0.2setosa

24.93.01.40.2setosa

34.73.21.3 0.2setosa

44.63.11.5 0.2setosa

55.03.61.4 0.2setosa

65.43.91.7 0.4setosa

2.常用的描述性統計的R函數

一些用於計算描述性統計量的R函數:

✎R函數

3. 單個組的描述性統計


3.1 集中趨勢的度量:均值,中位數,眾數

粗略地說,集中趨勢衡量的是數據的「平均」或「中間」。最常用的衡量指標包括:

集中趨勢

平均值:平均值。它對異常值很敏感。

中位數:中間值。這是一個強有力的替代手段。

眾數:最頻繁出現的值

在R中

函數mean()和median()可以分別計算平均值和中位數;

# 計算平均值mean(my_data$Sepal.Length)

[1] 5.843333

# 計算中位數median(my_data$Sepal.Length)

[1] 5.8

3.2 可變性的度量

可變性度量給出了數據「分散」的程度。

範圍

極值:最小值和最大值

範圍:最大值減去最小值

# 計算最小值min(my_data$Sepal.Length)

[1] 4.3

# 計算最大值max(my_data$Sepal.Length)

[1] 7.9

# 範圍range(my_data$Sepal.Length)

[1] 4.3 7.9

四分位間距

四分位數將數據均勻分為4部分。四分位數間距(IQR):對應於第一和第三四分位數之間的差異-有時被用作標準偏差的可靠替代方案。

R功能:

quantile(x, probs = seq(0, 1, 0.25))

x:需要樣本分位數的數值向量。

probs:在[0,1]之間的概率數值向量。

例:

quantile(my_data$Sepal.Length)

0% 25% 50% 75% 100%

4.3 5.1 5.8 6.4 7.9

# 計算十分位數(0.1,0.2,0.3,…,0.9):quantile(my_data$Sepal.Length, seq(0, 1, 0.1))
# 計算四分位間距:IQR(my_data$Sepal.Length)

[1] 1.3

方差和標準差

方差表示與均值的平均平方差之和。標準差是方差的平方根。它測量數據中數值與平均值的平均偏差。

# 計算方差var(my_data$Sepal.Length)
# 計算標準差sd(my_data$Sepal.Length)
絕對中位數

絕對中位數(Median absolute deviation,MAD):數據中值與中值的偏差,即先計算出數據與它們的中位數之間的殘差(偏差),MAD就是這些偏差的絕對值的中位數。

# 計算中位數median(my_data$Sepal.Length)
# 計算絕對中位數mad(my_data$Sepal.Length)

統計描述方式的選擇

範圍。它不經常使用,因為它對異常值非常敏感。


四分位間距。對於異常值,它非常強大。它多與中位數結合使用。

方差。完全無法解釋的,因為它不使用與數據相同的單位。除了用作數學工具外,很少被使用。

標準偏差。方差的平方根。它以與數據相同的單位表示。在均值是集中趨勢的分布(多指正態分布)的情況下,通常使用標準偏差。

絕對中位數。對於具有離群值的數據,這是一種估算標準偏差的可靠方法。但是不經常使用。

總而言之,四分位間距和標準差是用於報告數據變異性的兩種最常用的度量。


3.3 計算變量和整個數據框的整體摘要
summary()函數

函數summary()可用於顯示一個變量或整個數據框的多個統計變量概況。

單個變量的概況。

返回六個值:平均值,中位數,第25和,75四分位數,最小值和最大值。

summary(my_data$Sepal.Length)

輸出結果如下:

Min. 1st Qu. Median Mean 3rd Qu. Max.4.300 5.100 5.800 5.843 6.400 7.900
數據框概況。

在這種情況下,函數summary()將自動應用於每列。結果的格式取決於列中包含的數據類型。例如:

如果列是數字變量,則返回均值,中位數,最小值,最大值和四分位數。

如果該列是一個因素變量(factor),則返回每個組中的觀察數。

summary(my_data, digits = 1)

輸出結果如下:

Sepal.Length Sepal.Width Petal.Length Petal.Width SpeciesMin. :4 Min. :2 Min. :1 Min. :0.1 setosa :501st Qu.:5 1st Qu.:3 1st Qu.:2 1st Qu.:0.3 versicolor:50Median :6 Median :3 Median :4 Median :1.3 virginica :50Mean :6 Mean :3 Mean :4 Mean :1.23rd Qu.:6 3rd Qu.:3 3rd Qu.:5 3rd Qu.:1.8Max. :8 Max. :4 Max. :7 Max. :2.5
3.4 缺失值的情況
Tips

當數據包含缺失值時,即使僅缺少一個值,某些R函數也會返回錯誤或NA。

例如,即使向量中僅丟失一個值,mean()函數也將返回NA。使用參數na.rm = TRUE可以避免這種情況,該參數告訴函數在計算之前刪除所有NA。使用均值函數的示例如下:

mean(my_data$Sepal.Length, na.rm = TRUE)

好了,本期講解就先到這裡。在之後的更新中,我們會進一步為您介紹R的入門,以及常用生物統計方法和R實現。

提前打個預告,接下來我們要正式開始學習R語言的統計學技能啦,下一期將會更新「R的描述性統計分析」。喜歡的同學們快快關注起來吧。

第一講R-基本介紹及安裝

第二講 R-編程基礎-運算、數據類型和向量等基本介紹

第三講 R編程基礎-矩陣和數據框

當然啦,R語言繪圖的掌握是在長期訓練中慢慢積累的。一個人學習太累,不妨加入「R語言與統計交流群」,和數百位碩博一起學習。


↑↑↑添加客服微信入群交流↑↑↑


END



發表SCI論文很迷茫?
來找「投必得」幫忙↓↓↓
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 鑽石舞台 的頭像
    鑽石舞台

    鑽石舞台

    鑽石舞台 發表在 痞客邦 留言(0) 人氣()