R 中的统计分析是使用许多内置函数执行的。其中大多数函数都是 R 基础包的一部分。这些函数将 R 向量与参数一起作为输入并给出结果。
我们在本章中讨论的函数是 mean、median 和 mode。
Mean
它是通过将值的总和除以数据系列中的值数来计算的。
函数 mean() 用于在 R 中计算此值。
语法
在 R 中计算平均值的基本语法是 -
mean(x, trim = 0, na.rm = FALSE, ...)
以下是所用参数的描述 -
- x 是输入向量。
- trim 用于从排序向量的两端删除一些观测值。
- na.rm 用于从输入向量中删除缺失值。
例
# 创建一个向量。
x <- c(12,7,3,4.2,18,2,54,-21,8,-5)
# 找到平均值。
result.mean <- mean(x)
print(result.mean)
当我们执行上述代码时,它会产生以下结果——
[1] 8.22
应用 Trim 选项
当提供 trim 参数时,向量中的值将进行排序,然后从计算平均值中删除所需的观测值数。
当 trim = 0.3 时,将从计算中丢弃每端的 3 个值以查找平均值。
在这种情况下,排序的向量为 (−21, −5, 2, 3, 4.2, 7, 8, 12, 18, 54),从向量中删除的用于计算平均值的值为从左开始的 (−21,−5,2) 和从右开始的 (12,18,54)。
# 创建一个向量。
x <- c(12,7,3,4.2,18,2,54,-21,8,-5)
# 找到平均值。
result.mean <- mean(x,trim = 0.3)
print(result.mean)
当我们执行上述代码时,它会产生以下结果——
[1] 5.55
应用 NA 选项
如果存在缺失值,则 mean 函数返回 NA。
要从计算中删除缺失值,请使用 na.rm = TRUE。这意味着删除 NA 值。
# 创建一个向量。
x <- c(12,7,3,4.2,18,2,54,-21,8,-5,NA)
# 找到平均值
result.mean <- mean(x)
print(result.mean)
# 查找NA值的平均下降值。
result.mean <- mean(x,na.rm = TRUE)
print(result.mean)
当我们执行上述代码时,它会产生以下结果——
[1] NA
[1] 8.22
[1] 8.22
median
数据系列中最中间的值称为中位数。在 R 中使用 median() 函数来计算此值。
语法
在 R 中计算中位数的基本语法是 −
median(x, na.rm = FALSE)
以下是所用参数的描述 -
- x 是输入向量。
- na.rm 用于从输入向量中删除缺失值。
例
# 创建向量。
x <- c(12,7,3,4.2,18,2,54,-21,8,-5)
# 找出中位数。
median.result <- median(x)
print(median.result)
当我们执行上述代码时,它会产生以下结果——
[1] 5.6
mode
众数是一组数据中出现次数最多的值。Unike mean 和 median, mode 可以同时包含数字和字符数据。
R 没有标准的内置函数来计算模式。因此,我们创建一个 user 函数来计算 R 中数据集的模式。此函数将向量作为输入,并给出 mode 值作为输出。
例
# 创建函数。
getmode <- function(v) {
uniqv <- unique(v)
uniqv[which.max(tabulate(match(v, uniqv)))]
}
# 用数字创建向量。
v <- c(2,1,2,3,1,2,3,4,1,5,5,3,2,3)
# 使用用户函数计算模式。
result <- getmode(v)
print(result)
# 用字符创建向量。
charv <- c("o","it","the","it","it")
# 使用用户函数计算模式。
result <- getmode(charv)
print(result)
当我们执行上述代码时,它会产生以下结果——
[1] 2
[1] "it"
[1] "it"