sample基本用法
参数解释:x表示所要抽样数据,size表示抽样个数,replace为T表示采取有重复的抽样
代码目的:在1到10间有放回的随机抽取5个数
data=1:10sample(x=data,size=5,replace=T)
image.png
对数据框抽取
data=1:10#抽取列sample(x=data,size=1,replace=T) #抽取行data[sample(nrow(data),2,replace=F),]
image.png
按一定比例抽取
代码目的:将数据bdata按7:3比例划分训练集和测试集
set.seed(1234)#按7:3的比例产生了1和2index <- sample(x = 2,size = nrow(bdata),replace=TRUE,prob = c(0.7,0.3))traindata <- bdata[index == 1,]testdata <- bdata[index == 2,]
按某个字段分层抽取
代码目的:将data数据集按s字段分组,在每一组里随机抽取两行,将抽取结果合并成数据框result
变量解释
data原始数据集;
subdata将data按s字段分组后的小块,类型为列表,
subdata[[1]]则为其中第一个小数据框;
x每个小数据框随机抽取两行的结果;
result最终抽样结果
result<-data.frame()data<-data.frame(a=c(1,2,3,4,6,7,8,5,11,12),b=c(2,3,4,5,65,4,6,6,8,9),s=c('A','B','A','A','B','A','B','A','B','B'))subdata<-split(data,data$s)for(i in 1:length(subdata)){ sub<-subdata[[i]] x<-sub[sample(nrow(sub),2,replace=F),] result<-rbind(result,x)}result
image.png
7人点赞
R语言数据分析
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。