自己试了一下,基本实现要求
R软件可以利用sampling包中的strata函数进行分层抽样,然后利用getdata获取抽样样本。
strata函数可以同时处理多个层变量,一次完成抽样。本例性别分男、女,年龄分3个组,结果在6个层中进行抽样。
主要过程:
先选读取抽样的数据库,名为data
library(sampling)
data1=data[order(data$性别,data$年龄段),] #排序(不排序将以属于不同层的记录出现先后作为层序)
sample=strata(data1,stratanames=c("性别","年龄段"),size=c(10,15,15,10,15,15),method="srswor") #size=c括号内填入各层抽样数,个数与层数相等
sample1 <- getdata(data1,sample) #将原数据库的全部字段与抽样记录合并