基本统计分析
累积最大值、累积最小值
有一列数据,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)
浙公网安备 33010602011771号