1

以下是我目前创建两个独立样本 DS 和 RS 的方式:

data$rnd<-runif(nrow(data),0,1)
fraction<-0.5
DS<-subset(data, rnd <= fraction) 
RS<-subset(data, rnd > fraction) 

显然,这只会给我两个大小大致相等的样本。我想如果我能得到完全相等的分割(但是我的样本有不相等的 n),我的交叉验证分析会更有效。我想到了一个自然数生成器,它只在 1 和 N 之间选择每个数字一次,但我什么也没找到。

4

2 回答 2

1

使用sample

mask<-sample(nrow(data),nrow(data)/2);
DS<-data[mask,]
RS<-data[-mask,]
于 2013-06-08T16:06:48.607 回答
0

您是否正在尝试模拟新数据或从您拥有的数据中采样?

如果是后者,请执行 sample(data, size, replace=false)

如果您提供帮助(示例),您将获得所有详细信息。

于 2013-06-08T16:51:03.780 回答