均值是通过取数值的总和并除以数据序列中的值的数量来计算。
R语言平均值公式:
mean(x, trim = 0, na.rm = FALSE, ...)
#x - 是输入向量。trim - 用于从排序的向量的两端删除一些观测值。na.rm - 用于从输入向量中删除缺少的值
> x<-c(-22,-13,2,45,56,73,21,44,NA)
> result.mean<-mean(x,rim=0.2,na.rm=TRUE)#rim=0.2就是对x其中的向量排序,然后去掉左边和右边的各2个值,na.rm=TRUE就是去掉缺值
> result.mean
[1] 25.75
python语言平均值公式:
mean(a, axis = None) : 同理,计算平均值
In [14]: import pandas as pd
In [15]: import numpy as np
In [16]: a=pd.Series([1,2,3,5])
In [17]: np.mean(a)
Out[17]: 2.75
R语言求中位数:
median(x, na.rm = FALSE)#x - 是输入向量。na.rm - 用于从输入向量中删除缺少的值
> x<-c(-22,-13,2,45,56,73,21,44,NA)
> median.result<-median(x)
> median.result
[1] NA
> median.result<-median(x,na.rm=TRUE)
> median.result
[1] 32.5
PYTHON语言求中位数:
> x<-c(-22,-13,2,45,56,73,21,44,NA)
> median.result<-median(x)
> median.result
[1] NA
> median.result<-median(x,na.rm=TRUE)
> median.result
[1] 32.5
R语言求众数:
R没有标准的内置函数来计算众数。因此,我们将创建一个用户自定义函数来计算R中的数据集的众数。该函数将向量作为输入,并将众数值作为输出。
getmode <- function(v) {
uniqv <- unique(v)
uniqv[which.max(tabulate(match(v, uniqv)))]
}
代码如下:
> getmode <- function(v) {
+ uniqv <- unique(v)
+ uniqv[which.max(tabulate(match(v, uniqv)))]
+ }
> v<-c(1,2,3,4,52,45,22,2,4,2,2,4,5,5)
> result<-getmode(v)
> result
[1] 2
PYTHON求众数:
In [26]: a=np.array([1,2,3,4,5,22,3,4,5,5,4,4,4,])
In [27]: counts=np.bincount(a)
In [28]: np.argmax(counts)
Out[28]: 4