R语言分层抽样(strata函数)

xiaoxiao2021-02-28  227

关注微信公共号:小程在线

关注博客:程志伟的博客

 

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,]

转载请注明原文地址: https://www.6miu.com/read-2134164.html

最新回复(0)