位置:首頁 > 大數據教學 > R語言教學 > R語言均值,中位數和模式

R語言均值,中位數和模式

在R統計分析是通過用許多內置函數來執行的。 大多數這些函數是R基本包的一部分。這些函數需要R向量作為輸入參數並給出結果。

我們正在討論本章中的函數是平均數,中位數和模式。

平均值

它是通過取的值的總和,並除以一個數據係列的數量計算的。

函數mean()是用來計算這在R語言中

語法

用於計算平均值在 R 中的基本語法是:

mean(x, trim = 0, na.rm = FALSE, ...)

以下是所使用的參數的說明:

  • x 是輸入向量。
  • trim 用於刪除一些要素/空格從排序向量的兩端。
  • na.rm 用於從輸入矢量刪除丟失的值。

示例

# Create a vector. 
x <- c(12,7,3,4.2,18,2,54,-21,8,-5)

# Find Mean.
result.mean <- mean(x)
print(result.mean)

當我們上麵的代碼執行時,它產生以下結果:

[1] 8.22

應用修剪選項

當修剪參數被提供時,在向量中的值獲得排序,然後觀察所需要的數據從計算平均丟棄。

當trim =0.3,是從每一端的3個值將被從找到中計算刪除的意思。

在這種情況下,排序矢量為(-21,-5,2,3,4.2,7,8,12,18,54)和從向量表除去,用於計算平均值的值從(-21,-5,2)左側和從(12,18,54)右邊。

# Create a vector.
x <- c(12,7,3,4.2,18,2,54,-21,8,-5)

# Find Mean.
result.mean <-  mean(x,trim=0.3)
print(result.mean)

當我們上麵的代碼執行時,它產生以下結果:

[1] 5.55

應用NA選項

如果有缺失值,則意味著函數返回 NA。

從計算中使用 na.rm= TRUE 刪除缺失值。這意味著刪除 NA 值。

# Create a vector. 
 x <- c(12,7,3,4.2,18,2,54,-21,8,-5,NA)

# Find mean.
result.mean <-  mean(x)
print(result.mean)

# Find mean dropping NA values.
result.mean <-  mean(x,na.rm=TRUE)
print(result.mean)

當我們上麵的代碼執行時,它產生以下結果:

[1] NA
[1] 8.22

中位數

在一個數據串的中間最值被稱為中值。median() 函數用於在 R 中計算此值。

語法

在 R 中用於計算中位數的基本語法是:

median(x, na.rm = FALSE)

以下是所使用的參數的說明:

  • x 是輸入向量。
  • na.rm 用於從輸入矢量刪除丟失的值。

例子

# Create the vector.
x <- c(12,7,3,4.2,18,2,54,-21,8,-5)

# Find the median.
median.result <- median(x)
print(median.result)

當我們上麵的代碼執行時,它產生以下結果:

[1] 5.6

模式

模式是一個具有最高發生次數的一組數據的值。不同於平均數和中位數,模式可以同時擁有數字和字符數據。

R冇有一個標準的內置函數來計算模式。因此,我們創建一個用戶函數來計算在R數據集的模式,該函數將向量作為輸入,並給出了模式的值輸出。

示例

# Create the function.
getmode <- function(v) {
	uniqv <- unique(v)
	uniqv[which.max(tabulate(match(v, uniqv)))]
}

# Create the vector with numbers.
v <- c(2,1,2,3,1,2,3,4,1,5,5,3,2,3)

# Calculate the mode using the user function.
result <- getmode(v)
print(result)

# Create the vector with characters.
charv <- c("o","it","the","it","it")

# Calculate the mode using the user function.
result <- getmode(charv)
print(result)

當我們上麵的代碼執行時,它產生以下結果:

[1] 2
[1] "it"