R mean() 函数用来计算样本的平均值,该函数的第二个参数可以设置去掉部分异常分数据。
mean() 函数语法格式如下:
mean(x, trim = 0, na.rm = FALSE, ...)
参数说明:
x 输入向量
trim 在首尾分别去除异常值,取值范围为 0 到 0.5 之间,表示在计算均值前需要去掉的异常值的比例。
na.rm 布尔值,默认为 FALSE,设置是否删除输入的向量中的缺失值 NA,设置 TRUE 删除 NA。
实例
# 创建向量
x <- c(12,27,3,4.2,2,2,54,-21,4,-2)
# 计算平均值
result.mean <- mean(x)
print(result.mean)
# 创建向量
x <- c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
# 计算平均值
result.mean <- mean(x,trim = 0.3)
result.mean2 <- mean(c(4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17))
print(result.mean)
print(result.mean2)
x <- c(12,27,3,4.2,2,2,54,-21,4,-2)
# 计算平均值
result.mean <- mean(x)
print(result.mean)
执行以上代码输出结果为:
[1] 8.52
接下来我们使用 trim 参数来说去掉一些异常值,以下实例中我们设置了 trim = 0.3,就会在向量的首尾去除 20*0.3=6 个数据,左侧的 (1, 2, 3) 与右侧的 (18, 19, 20) 会被删除。
实例
# 创建向量
x <- c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
# 计算平均值
result.mean <- mean(x,trim = 0.3)
result.mean2 <- mean(c(4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17))
print(result.mean)
print(result.mean2)
以上实例中 mean(x,trim = 0.3) 去掉首尾各 3 个元素,就是等于 mean(c(4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17))。
执行以上代码输出结果为:
[1] 10.5[1] 10.5
mean 函数的输入向量中,如果元素没有值,则默认为 NA,我们可以通过第三个参数来设置是否删除默认的 NA 值,如果没有删除 NA 返回结果为 NA:
实例
# 创建向量
x <- c(1,2,3,4.5,6,NA)
# 计算平均值
result.mean <- mean(x)
print(result.mean)
# 删除 NA
result.mean <- mean(x,na.rm = TRUE)
print(result.mean)
x <- c(1,2,3,4.5,6,NA)
# 计算平均值
result.mean <- mean(x)
print(result.mean)
# 删除 NA
result.mean <- mean(x,na.rm = TRUE)
print(result.mean)
执行以上代码输出结果为:
[1] NA[1] 3.3