vlambda博客
学习文章列表

R语言学习-常用统计函数

函数名 作用 示例
mean(x) 求平均值 >  data <- c(1:10)
   > mean(data)
   [1] 5.5
median(x)
   
   
求中位数
   
   
>  x <- c(1,2,2,3,3,3,4)
   > median(x)
   [1] 3
sd(x) 求标准差 >  x <- c(1,2,3)
   > sd(x)
   [1] 1
var(x)
   
   
求方差(用n-1做分母)
   
   
>  x <- c(1,2,3)
   > var(x)
   [1] 1
range(x) 求值域
   
   
>  x <- c(1,2,10,12)
   > range(x)
   [1]  1 12
sum(x) 求和
   
   
>  x <- c(1,2,10,12)
   > sum(x)
   [1] 25
min(x)
   
   
求最小值
   
   
>  x <- c(1,2,10,12)
   > min(x)
   [1] 1
max(x)
   
   
求最大值
   
   
>  x <- c(1,2,10,12)
   > max(x)
   [1] 12
which.max(x)  返回x中最大元素的下标 >  x <- c(1,2,4,6,3)
   > which.max(x)
   [1] 4
rev(x) 对x中的元素取逆序 >  x <- c(1,2,4,6,3)
   > rev(x)
   [1] 3 6 4 2 1
sort(x) 将x中的元素按升序排列 >  x <- c(1,2,4,6,3)
   > sort(x)
   [1] 1 2 3 4 6
cumsum(x)   求累积和,返回一个向量,它的第i个元素是从x[1]到x[i]的和 >  x <- c(1,2,4,6,3)
   > cumsum(x)
   [1]  1  3  7  13 16
cumprod(x) 求累积(从左向右)乘积 >  x <- c(1,2,4,6,3)
   > cumprod(x)
   [1]   1   2    8  48 144
cummin(x) 求累计最小值 >  x <- c(1,2,-4,6,3)
   > cummin(x)
   [1]  1  1 -4 -4 -4
cummax(x) 求累计最大值 >  x <- c(1,2,4,6,3)
   > cummax(x)
   [1] 1 2 4 6 6
   > x <- c(1,2,-4,6,3)
   > cummax(x)
   [1] 1 2 2 6 6
pmin(x,y) 返回一个向量,它的第i个元素是x[i],  y[i], . . .中最小值 >  x <- c(1,2,4,6,3)
   > y <- c(1,2,3,4,5)
   > pmin(x,y)
   [1] 1 2 3 4 3
 pmax(x,y) 返回一个向量,它的第i个元素是x[i],  y[i], . . .中最大值 >  x <- c(1,2,4,6,3)
   > y <- c(1,2,3,4,5)
   > pmax(x,y)
   [1] 1 2 4 6 5
match(x, y) 返回一个和x的长度相同的向量,表示x中与y中元素相同的元素在y中的位置(没有则返回NA),如果y中有多个相同的元素则返回第一个匹配到的元素 >  x <- c(1,2,4,6,3,5)
   > y <- c(1,2,3,4,5,3,6,6)
   > match(x,y)
   [1] 1 2 4 7 3 5
quantile(x, probs) 采用加权平均的算法,求分位数。x为待求分位数的数值型向量,probs是一个由[0,1]的概率值组成的数值型向量 x  <- c(1:10)
   quantile(x,0)
   0%是第一位(1+(10-1)*0%)=1,值为1
   quantile(x,0.25)
   25%是第3.25位(1+(10-1)*0.25)=13/4,值为:3*0.75  +4*0.25=3.25(距离3较近所以权重大,为0.75,4的权重为0.25)
   quantile(x,0.6)
   60%是第6.4位(1+(10-1)*0.6)=6.4,值为:6*0.6+7*0.4=6.4(距离6较近所以权重大为0.6,7的权重为0.4)
   
fivenum() 返回五个数据:最小值、下四分位数、中位数、上四分位数、最大值 >  x <- c(1,2,4,3,5)
   > fivenum(x)
   [1] 1 2 3 4 5
   > x <- c(1,2,4,3,5,7,6)
   > fivenum(x)
   [1] 1.0 2.5 4.0 5.5 7.0
scale(x, center=TRUE,scale=TRUE)
   
   
以数据对象x按列进行中心化或标准化,center=TRUE表示数据中心化,scale=TRUE表示数据标准化
   数据的中心化是指数据集中的各项数据减去数据集的均值
   数据的标准化是指中心化之后的数据在除以数据集的标准差,即数据集中的各项数据减去数据集的均值再除以数据集的标准差
   
> x <- c(1:5)
   > scale(x,center=TRUE,scale = FALSE)
        [,1]
   [1,]   -2
   [2,]   -1
   [3,]    0
   [4,]    1
   [5,]    2
   attr(,"scaled:center")
   [1] 3
   > scale(x,center=TRUE,scale = TRUE)
              [,1]
   [1,] -1.2649111
   [2,] -0.6324555
   [3,]  0.0000000
   [4,]  0.6324555
   [5,]  1.2649111
   attr(,"scaled:center")
   [1] 3
   attr(,"scaled:scale")
   [1] 1.581139
   center和scale默认为真