R - 均值,中位数和模式

R中的统计分析通过使用许多内置函数来执行.大多数这些函数都是R基础包的一部分.这些函数将R vector作为输入与参数一起使用并给出结果.

我们在本章讨论的函数是均值,中位数和模式.

平均值

它是通过取值的总和并除以数据系列中的值数来计算的.

函数 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"