基本统计分析

累积最大值、累积最小值

有一列数据,x1=5,x2=8,x3=7,求y,y代表前后几个数的最大值,y1=x1,y2是拿x2和y1比较得到最大值,y3是拿y2和x3比较得到最大值

同理。

cummax(x)

cummin(x)

众数

> y=c(1,1,2,2,2,3,4)*2
> y
[1] 2 2 4 4 4 6 8
> table(y)
y
2 4 6 8
2 3 1 1
> max(table(y)) # 众数出现的次数
[1] 3
> table(y)==max(table(y))
y
2 4 6 8
FALSE TRUE FALSE FALSE
> which(table(y)==max(table(y))) # 众数在table(y)第几个? 第2个
4
2

偏度和峰度

#偏度
skewness<-function(x){
sum(((x-mean(x))^3))/length(x)
}
# 计算结果
> skewness(x)
[1] 197.8397

#峰度
kurtosis<-function(x){
a=mean(x)
n=length(x)
m4=sum((x-a)^4)/n
m2=sum((x-a)^2)/n
kurt=m4/m2^2 -3
kurt
}
# 计算结果
> kurtosis(x)
[1] 0.6260693

异常值

上界=75%分位数+(75%分位数-25%分位数)*1.5
下界=25%分位数- (75%分位数-25%分位数)*1.5
比上界大的,和比下界小的都是异常值.

极端异常值

上界=75%分位数+(75%分位数-25%分位数)*3
下界=25%分位数- (75%分位数-25%分位数)*3

# 分位数
> q=quantile(x,c(.25,.75)); q
25% 75%
1.000000 7.389056
# 异常值下侧界限, 故x没有下侧异常值
> out.low=q[1]-1.5*(q[2]-q[1]);out.low
25%
-8.583584
# 异常值上侧界限, x有上侧异常值
> out.upper=q[2]+1.5*(q[2]-q[1]);out.upper
75%
10.58358
# 绘图来查看, 可以看到x的上侧异常值
> boxplot(x)

 

posted on 2016-04-07 22:16  柯杨  阅读(184)  评论(0)    收藏  举报

导航