R语言 中心倾向性

R语言 中心倾向性

中心趋势 是描述性统计的特征之一。中心趋势讲述了一组数据是如何围绕分布的中心值聚集的。中心趋势执行以下措施。

  • 算术平均数
  • 几何平均数
  • 调和平均数
  • 中位数
  • 模式

算术平均数

算术平均数被简单地称为数字的平均值,代表数据分布的中心值。它的计算方法是将所有的数值相加,然后除以总的观察值。

公式:

R编程中的中心倾向性

其中

X 表示算术平均值

R语言 中心倾向性 表示数据向量中的i^{\text{th}}

n 表示观察值的总数

在R语言中,算术平均数可以通过 mean() 函数来计算。

语法: mean(x, trim, na.rm = FALSE)

参数:

x: 代表对象

trim: 指定在计算平均值之前从对象的每一边去除的数值数量。该值在0到0.5之间
na.rm: 如果是TRUE,则从 x 中删除NA值

例子

# Defining vector
x <- c(3, 7, 5, 13, 20, 23, 39, 23, 40, 23, 14, 12, 56, 23)
  
# Print mean
print(mean(x))

输出

[1] 21.5

几何平均数

几何平均数是平均数的一种类型,它是由所有的数据值相乘而计算出来的,因此,它显示了给定数据分布的中心趋势。

公式:

R编程中的中心倾向性

其中

X 表示几何平均数

R语言 中心倾向性 表示数据向量中的R语言 中心倾向性

n 表示观察值的总数。

prod()length() 函数有助于为给定的数字集寻找几何平均数,因为没有直接的函数用于几何平均数。

语法:

prod(x)^(1/length(x))

其中,

prod()函数返回向量x中所有数值的乘积

length()函数返回向量x的长度

例子

# Defining vector
x <- c(1, 5, 9, 19, 25)
  
# Print Geometric Mean
print(prod(x)^(1 / length(x)))

输出

[1] 7.344821

调和平均数

调和平均数是另一种用于衡量中心趋势的平均数。它的计算方法是给定的一组数值的倒数的算术平均值的倒数。

公式:
R编程中的中心倾向性

其中

X 表示谐波平均数

R语言 中心倾向性表示数据向量中的R语言 中心倾向性

n 表示观察值的总数。

例子:

修改代码以找到给定数值集的谐波平均数。

# Defining vector
x <- c(1, 5, 8, 10)
  
# Print Harmonic Mean
print(1 / mean(1 / x))

输出

[1] 2.807018

中位数

统计学中的中位数是另一种衡量中心趋势的方法,它代表一组给定值的最中间值。

在R语言中,中位数可以通过 median() 函数来计算。

语法: median(x, na.rm = FALSE)

参数:

x: 是数据向量

na.rm: 如果为true,则从 x 中删除NA值。

例子

# Defining vector
x <- c(3, 7, 5, 13, 20, 23, 39, 
       23, 40, 23, 14, 12, 56, 23)
  
# Print Median
median(x)

输出

[1] 21.5

模式

一组给定的数值的模式是在这组数值中重复最多的数值。如果有两个或更多的值具有相匹配的最大频率,则可能存在多个模式值。

例1:单模式值

在R语言中,没有计算模式的函数。因此,修改代码以找出给定数值集的模式。

# Defining vector
x <- c(3, 7, 5, 13, 20, 23, 39,  
       23, 40, 23, 14, 12, 56,
       23, 29, 56, 37, 45, 1, 25, 8)
  
# Generate frequency table
y <- table(x)
  
# Print frequency table
print(y)
  
# Mode of x
m <- names(y)[which(y == max(y))]
  
# Print mode
print(m)

输出

x
 1  3  5  7  8 12 13 14 20 23 25 29 37 39 40 45 56 
 1  1  1  1  1  1  1  1  1  4  1  1  1  1  1  1  2
[1] "23"

例2:多个模式值

# Defining vector
x <- c(3, 7, 5, 13, 20, 23, 39, 23, 40, 
       23, 14, 12, 56, 23, 29, 56, 37,
       45, 1, 25, 8, 56, 56)
  
# Generate frequency table
y <- table(x)
  
# Print frequency table
print(y)
  
# Mode of x
m <- names(y)[which(y == max(y))]
  
# Print mode
print(m)

输出

x
 1  3  5  7  8 12 13 14 20 23 25 29 37 39 40 45 56 
 1  1  1  1  1  1  1  1  1  4  1  1  1  1  1  1  4 
[1] "23" "56"

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程