均值是通過取數值的總和並除以數據序列中的值的數量來計算。
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