• 数据探索


    数据探索

    1.数据概况

    2.数据离散程度

    3.分布形状的探索

    4.分布情况探索

    5.相关性

    6.分类型变量

    7.连续变量

    数据准备

    set.seed(100)
    w<-rnorm(1000,0,1)

    1. 数据概况

    summary(w)
    
        Min.  1st Qu.   Median     Mean  3rd Qu.     Max.
    -3.32078 -0.64970  0.03690  0.01681  0.70959  3.30415 

    2.离散程度度量

    2.1 方差

    总体方差计算公式:

    为总体方差,
    为变量,
    为总体均值,
    为总体例数。
    var(w)
    1.06211

    2.2 标准差

    公式为
    sd(w)
    1.06211

    2.3 极差

    R<-max(w)-min(w)
    R
    6.624933

    半极差 上下四份位数之差

    2.4 样本标准误

    3.分布形状的探索

    3.1 偏度系数

    对称性指标,关于均值对称,则系数为0,

    右侧更分散,则系数为正,否则为负。

    3.2 峰度系数

    当数据总体分布为正态分布时,峰度系数近似为0;

    当分布较正态分布的尾部更分散时,峰度系数为正;否则为负

    当峰度系数为正时,两侧极端数据较多;

    当峰度系数为负时,两侧极端数据较少。

    data_outline<-function(x){
    n<-length(x) #样本个数
    m<-mean(x) #样本均值
    v<-var(x) #样本方差
    s<-sd(x) #样本标准差
    me<-median(x) #样本中位数
    cv<-100*s/m #样本变异系数
    css<-sum((x-m)^2) #样本校正平方和
    uss<-sum(x^2) #样本未校正平方和
    R<-max(x)-min(x) #样本极差
    R1<-quantile(x,3/4)-quantile(x,1/4) #样本半极差
    sm<-s/sqrt(n)
    g1<-n/((n-1)*(n-2))*sum((x-m)^3)/s^3 #样本峰度系数
    g2<-((n*(n+1))/((n-1)*(n-2)*(n-3))*sum((x-m)^4)/s^4-(3*(n-1)^2)/((n-2)*(n-3))) #样本偏度系数
    data.frame(N=n,Mean=m,Var=v,std_dev=s,Median=me,std_mean=sm,CV=cv,CSS=css,USS=uss,R=R,R1=R1,Skewness=g1,Kurtosis=g2,row.names=1)}

    N Mean Var   std_dev Median std_mean CV   CSS USS R    R1  Skewness Kurtosis
    1000 0.01680509 1.062112 1.030588 0.03690212 0.03259005 6132.593 1061.049 1061.332 6.624933 1.359288 -0.0412859 0.03231766

    3.3散点图

    hist(w,freq=FALSE)
    lines(density(w))

     

    3.4直方图

    plot(w)

    3.5 QQ图

    qqnorm(w)

     

    4.分布情况探索

    4.1 fitdistrplus包

    >require(fitdistrplus)
    >descdist(w)
    summary statistics
    ------
    min:  -3.320782   max:  3.304151
    median:  0.03690212
    mean:  0.01680509
    estimated sd:  1.030588
    estimated skewness:  -0.0412859
    estimated kurtosis:  3.032318 

    > plot(fitdist(w,"norm"))

    5.相关性

    R中能够实现相关性矩阵可视化的程序包

    Function Package Description
    plotcorr ellipse 以椭圆代表相关系数。
    plotcov pcaPP 用于两个相关系数矩阵的比较。
    corrplot corrplot 相关系数矩阵可视化专业户,推荐。
    corrplot arm 可被ggcorr 完美代替。
    ggcorr GGally 实用性不强。
    corrgram corrgram

    比ggcorr 强一点。

    6.分类变量分析

    Data:Download
    train<-read.csv(./train.csv)
    attach(train)
    table(Sex, Survived) Survived Sex
    0 1 female 81 233 male 468 109
    plot(table(Sex, Survived)

    library(dplyr)
    
    summarise(group_by(train,Survived),mean=mean(Fare))
    # A tibble: 2 x 2
      Survived     mean
         <int>    <dbl>
    1        0 22.11789
    2        1 48.39541

    summarise(group_by(train,factor(Survived)),meanAge=mean(Age[!is.na(Age)]),meanFare=mean(Fare[!is.na(Fare)]))
    # A tibble: 2 x 3
      `factor(Survived)`  meanAge meanFare
                  <fctr>    <dbl>    <dbl>
    1                  0 30.62618 22.11789
    2                  1 28.34369 48.39541
    detach(train)

    7.连续变量分析

    library(car)
    scatterplot(SalePrice ~ YearBuilt, data=train,  xlab="Year Built", ylab="Sale Price", grid=FALSE)

    scatterplot(SalePrice ~ YrSold, data=train,  xlab="Year Sold", ylab="Sale Price", grid=FALSE)

    参考:

    1.Wiki QQ

    2.Wiki PP

    3. R

    4.经管之家

    回到顶部

  • 相关阅读:
    你现在是否在高效地使用时间?
    关于不使用web服务实现文本框自动完成扩展
    SpringBoot(一) -- SpringBoot入门
    微信小程序(三)--小程序UI开发
    微信小程序(二)--逻辑层与界面层
    微信小程序(一)--微信小程序的介绍
    Spring学习(七)--Spring MVC的高级技术
    Spring学习(四)--面向切面的Spring
    Spring学习(三)--高级装配
    django源码分析 LazySetting对象
  • 原文地址:https://www.cnblogs.com/aongao/p/7538409.html
Copyright © 2020-2023  润新知