-1

数据是机密的,因此这里是一个虚拟数据帧。

  i1  i2 o1
1 72 3.1 69
2 12 1.1 46
3 16 2.0 37
4 16 7.9 70
5 24 7.0 27
6 12 9.9 49 

我想将此数据框分成 3 个固定大小的数据框,但必须选择行而不替换。在这里,假设我使用以下方法选择其中的一个随机部分:-

x=sample(6,3);
df_part1=df[x,]

随机选择的行是:-

  i1  i2  o1
4 16  2.0  37
6 12  9.9  49 
1 72  3.1  69

现在,在我选择第二部分之前,我想从数据框中删除这些特定的行。我该怎么做?

4

2 回答 2

1

听起来您实际上想要split您的数据框,而不是从中删除行。如果数据帧大小相等,并且您希望三个提取的数据帧是随机样本,请指定如下内容:

split(df, sample(1:3,dim(df)[1],TRUE))

获取三个采样的、互斥的数据帧的列表。无需从原始数据框中删除任何内容。

此外,如果您想让数据框具有不同的大小,您可以probsample.

于 2013-07-04T08:04:29.533 回答
0

您可以先采样1:6,然后从打乱的 6 个数字中提取信息:

tmp <- sample(6, 6)

tmp[1:3], tmp[4:6]会给你信息,你可以从那里去。我希望这有帮助。

于 2015-07-10T20:04:35.127 回答