关注微信公共号:小程在线
关注CSDN博客:程志伟的博客
library(sampling)
strata(data,stratanames=NULL,size,method=c("srswor","srswr","poisson","systematic"),pik,description=FALS)
stratanames: 进行分层所依据的变量名称。
size: 各层中要抽出的观测样本数。
method: 选择4中抽样方法,分别为无放回、有放回、泊松、系统抽样,默认为srswor。
pik: 设置各层中样本的抽样概率。
description: 选择是否输出含有各层基本信息的结果。
举例说明:
A、B、C分别为分类变量
A有2个分类变量,B有5个分类变量,C有2个分类变量
第一步按照这三个变量进行排序
sourui=sourui[order(sourui$A,sourui$B,sourui$C),]
第二步筛选变量,size参数对应20个比例20=2*5*2,比例可以自己设置
sub_train=strata(sourui,stratanames=c("A","B","C"),
size=c(21,269,806,2325,3420,1972,2474,1500,1419,741,3,7,58,42,313,70,685,209,696,210),
method="srswor")
第三步:分为训练集和测试集,ID_unit变量在第二步产生。
data_train <- sourui[sub_train$ID_unit,]
data_test <- sourui[-sub_train$ID_unit,]