R语言抽样技术


前言

R语言数据挖掘

一、工作路径的获取和相关包载入

getwd()  
library(MASS)
library(sampling)

二、抽样技术

1.简单抽样:有放回简单抽样

代码如下(示例):

set.seed(2)
#从iris数据集中有放回的随机抽5个样本
sub1<- sample(nrow(iris),5,replace = T)
sub1
iris.sub1<-iris[sub1,]
iris.sub1
write.csv(iris.sub1,"iris.sub1.csv")

sub2<-sample(nrow(iris),5,replace = T,prob = c(rep(0,nrow(iris)-1),1))
iris[sub2,]

2.简单无放回抽样

代码如下(示例):

set.seed(2)
sub3<-sample(nrow(iris),5)
sub3

iris[sub3,]

3.分层抽样

library(sampling)
names(iris)
set.seed(2)
#按照Species进行分层抽样,每个街区分别无放回抽取4个样本
sub4<-strata(iris,stratanames = "Species",size=c(4,4,4,4),method = "srswor")
sub4
getdata(iris,sub4)


sub5<-strata(iris,stratanames = "Species",size=c(1,3,4,5),description = TRUE)
sub5
getdata(iris,sub5)

4.整群抽样

library(sampling)
set.seed(2)
sub7<-cluster(iris,clustername ="Species",size=2,method ="srswr",
              description=TRUE)
sub7
getdata(iris,sub7)

sub8<-cluster(iris,clustername ="Species",size=2,method ="srswr",
              pik=iris$Sepal.Width,description=TRUE)
sub8
getdata(iris,sub8)

5.划分训练样本和测试样本

set.seed(2)
sub<-sample(nrow(iris),3/4*nrow(iris))
train<-iris[sub,]
test<-iris[-sub,]
dim(train)
dim(test)
train
test

write.csv(train,"train.csv")
write.csv(test,"test.csv")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代号跳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值