一、抽样
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