R语言数据挖掘(1) 探索性数据分析

来源:互联网 发布:win7 home 装sqlserver 编辑:程序博客网 时间:2024/04/24 22:56

一、抽样

1.分层抽样

strata(data,stratanames=NULL,size,method=c("srswor","srswr","poisson","systematic"),pik,description=FALSE)

 

size是一个向量

stratanames:分层依据的变量

method:无放回,有放回,泊松,系统抽样

description:给出层数、每层样本总数、实际抽取样本数

pik:设置各层中个样本的抽样概率(可以使用数据框中的其他变量)

 

2.整群抽样:将变量的不同取值划分群,抽取这些群中n个样本

cluster(data,clusternames,size,method=c("srswor","srswr","poisson","systematic"),pik,description=FALSE)

 

size是一个正整数,表示要抽取的群数。

 

二、数据探索

1.变量概况

attributes()     给出变量名称,数据集格式,行名

str()                 数据集内部结构,包括观测样本数,变量数,各变量的类型及取值情况

> str(Insurance)

'data.frame':    64obs. of  5 variables:

 $ District:Factor w/ 4 levels "1","2","3","4": 1 11 1 1 1 1 1 1 1 ...

 $ Group   : Ord.factor w/ 4 levels"<1l"<"1-1.5l"<..: 1 1 1 1 2 2 2 2 3 3 ...

 $ Age     : Ord.factor w/ 4 levels"<25"<"25-29"<..: 1 2 3 4 1 2 3 4 1 2 ...

 $ Holders :int  197 264 246 1680 284 536 696 3582133 286 ...

 $Claims  : int  38 35 20 156 63 84 89 400 19 52 ...

 

summary()      定性变量:各level的取值频数

                        定量变量:min,四分位点,max,mean

Hmisc包  describe()

定性变量:样本个数,缺失样本量(missing),level个数(unique)

定量变量: 样本个数,缺失样本量(missing),level个数(unique),mean,0.5~0.95各quantile

level不超过10:默认为离散变量

level不超过20:给出频数表

level超过20:给出频率最低和最高的五个level值

 

fBasics包basicStats()

多用于计算时间序列数据基础统计指标

sum,SE Mean(标准误差均值),95%水平下均值置信区间,方差,标准误差,偏度和峰度

 

2.分布指标

很多经典算法,对于数据的分布假定非常严苛,在数据偏倚显著的情况下往往无法得到正确的估计结果。

 

3.稀疏性

对于高维数据而言,即变量非常的,而大部分变量仅对小部分样本有取值

Martrix包:常用的稀疏矩阵包,提供的函数主要处理高密度矩阵或稀疏矩阵

技巧:对矩阵使用which时,arr.ind=T返回的是坐标,默认或F返回的是顺序值

4.缺失值

mice包 md.pattern()获取缺失值分布情况

md.pattern()的结果

> md.pattern(Insurance)

   AgeHolders Group District Claims  

56   1       1    1        1      1 0

 2   1      1     1        0     1  1

 2   1      1     0        1     1  1

 1   1      0     1        1     1  1

 1   1      1     1        1     0  1

 1   1      1     1        0     0 2

 1   0      1     1        1     0  2

     1       1    2        3      3 10

如第三行,表示Group有缺失值,其他变量没有的观测共有2个

 

5.相关性

cor() 求相关系数

cov() 求协方差和方差

ellipse包的plotcorr()函数可以绘制相关图。圆形越扁,相关性越高,倾斜方向表示相关性正负(右倾为正)。使用参数type可以输出全部,上半和下半部分的图形

 

 三、可视化探索

学会灵活的运用with()函数提升工作效率!

 1.直方图

hist部分省略……

在绘图后,可以使用str()函数获取直方图想ing的输出值,包括breaks,counts(频数),density,mids,xname(绘图对象名),equidist(是否为等距分组)

 

2.累积分布图

使用Hmisc包的Ecdf()函数

ps    Ecdf()函数可以一次作出多条曲线。方法为:在同一数据框内,使用group参数;在不同数据框内,另起Ecdf()并设定参数add=T

 

3. 箱形图

获取箱形图的五个界限值

bp=boxplot(......)

bp$stats

1.最小值:距离中位数1.5倍四分位差

2.四分位点

3.中位点

4.四分位点

5.最大值:距离中位数1.5倍四分位差

分组箱形图

boxplot(var1(#计数量)~var2(#分组量),horizontal=)

Hmisc包的bpplot()可以绘制比例箱形图,可以表示高于/低于各位置值的比例(越窄则越少) ps 若要分组,则最好先用list分组,此函数不支持v1~v2

 

 

 


原创粉丝点击