R语言 平均数、中位数和模式
R语言中的 中心趋势测量 通过一个单一的值来表示整个数据集。它给了我们中心点的位置。有三种主要的中心趋势测量方法。
- 平均数
- 中位数
- 模式
前提条件:
在进行任何计算之前,首先,我们需要准备我们的数据,将我们的数据保存在外部的.txt或.csv文件中,最好的做法是将文件保存在当前目录中。之后,按以下方法将你的数据导入R。
在这里获取CSV文件。
# R program to import data into R
# Import the data using read.csv()
myData = read.csv("CardioGoodFitness.csv",
stringsAsFactors=F)
# Print the first 6 rows
print(head(myData))
输出
Product Age Gender Education MaritalStatus Usage Fitness Income Miles
1 TM195 18 Male 14 Single 3 4 29562 112
2 TM195 19 Male 15 Single 2 3 31836 75
3 TM195 19 Female 14 Partnered 4 3 30699 66
4 TM195 19 Male 12 Single 3 3 32973 85
5 TM195 20 Male 13 Partnered 4 2 35247 47
6 TM195 20 Female 14 Partnered 3 3 32973 66
R编程语言中的平均数
它是观察值的总和除以观察值的总数。它也被定义为平均数,即总和除以计数。
其中, n =术语的数量
例子
# R program to illustrate
# Descriptive Analysis
# Import the data using read.csv()
myData = read.csv("CardioGoodFitness.csv",
stringsAsFactors=F)
# Compute the mean value
mean = mean(myData$Age)
print(mean)
输出
[1] 28.78889
R编程语言中的中位数
它是数据集的中间值。它将数据分成两半。如果数据集的元素数是奇数,那么中心元素就是中位数,如果是偶数,那么中位数将是两个中心元素的平均值。
其中 n = 术语的数量
语法: median(x, na.rm = False)
其中, X是一个向量,na.rm用于消除缺失值。
例子
# R program to illustrate
# Descriptive Analysis
# Import the data using read.csv()
myData = read.csv("CardioGoodFitness.csv",
stringsAsFactors=F)
# Compute the median value
median = median(myData$Age)
print(median)
输出
[1] 26
R编程语言中的模式
它是在给定的数据集中具有最高频率的值。如果所有数据点的频率都相同,那么数据集可能没有模式。此外,如果我们遇到两个或更多的数据点具有相同的频率,我们可以有一个以上的模式。在R语言中没有内置的寻找模式的函数,所以我们可以创建自己的函数来寻找模式,或者我们可以使用名为modeest的包。
创建用户定义的查找模式的函数
R中没有内置的查找模式的函数,所以让我们创建一个用户定义的函数来返回所传递数据的模式。我们将使用table()方法,因为它以表格的形式用变量名称和频率创建数据的分类表示。我们将按降序对Age列进行排序,并从排序后的值中返回1值。
例子: 通过对数据框架的列进行排序来寻找模式
# Import the data using read.csv()
myData = read.csv("CardioGoodFitness.csv",
stringsAsFactors=F)
mode = function(){
return(sort(-table(myData$Age))[1])
}
mode()
输出
25: -25
使用modeest包
我们可以使用R语言的modeest包。这个包提供了寻找单变量数据的模式和通常概率分布的模式的方法。
例子
# R program to illustrate
# Descriptive Analysis
# Import the library
library(modeest)
# Import the data using read.csv()
myData = read.csv("CardioGoodFitness.csv",
stringsAsFactors=F)
# Compute the mode value
mode = mfv(myData$Age)
print(mode)
输出
[1] 25