重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
R语言如何实现分层抽样Stratified ,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
创新互联建站是专业的钢城网站建设公司,钢城接单;提供成都网站制作、网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行钢城网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
1.观察数据集
head(iris)
选取数据集中前6个数据,我们可以看出iris数据集一共有5个字段。
dim(iris)
iris数据集一共有150条数据,5个字段
summary(iris)
观察各个变量的内容,可以看出前四个变量(Sepal.Length Sepal.Width Petal.Length Petal.Width)都是定量变量,而最后一个(Species)是定性变量,我们将依据最后一个变量作为分层抽样的依据。
library(sampling)
载入分层抽样的包sampling
n=round(3/5*nrow(iris)/3)
计算每一个种类的抽样数目。这里我们按照每种“Species”抽取3/5个样本进行抽样。
sub_train=strata(iris,stratanames=("Species"),size=rep(n,3),method="srswor")head(sub_train)
stratanames参数是抽样依据的变量,size参数是每个种类抽样的数目,这里我们用上一步计算出来的n作为抽样数目,method是抽样方法,我们选择srswor。
data_train=iris[sub_train$ID_unit,] data_test=iris[-sub_train$ID_unit,]
将抽样结果分别定义为训练集(data_train)和测试集(data_test)。
dim(data_train); dim(data_test)
观察训练集和测试集的字段和数据数目。符合我们的抽样预期。
head(data_train);head(data_test)
观察训练集和测试集的前几条数据。
data_train;data_test
查看总的抽样结果,这里数据量太大不再给出。
write.csv(data_train,"C:/Users/cnrozh/Desktop/iris_data_train.csv")write.csv(data_test,"C:/Users/cnrozh/Desktop/iris_data_test.csv")
保存数据集
关于 R语言如何实现分层抽样Stratified 问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。