从数据框中删除某些行

时间:2013-06-24 05:44:12

标签: r random dataframe regression

数据是保密的,因此这里是一个虚拟数据框。

  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

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

2 个答案:

答案 0 :(得分:1)

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

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

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

此外,如果您希望数据框的大小不同,可以在prob中指定sample参数。

答案 1 :(得分:0)

您可以先对1:6进行采样,然后从改组的6个数字中提取信息:

tmp <- sample(6, 6)

tmp[1:3], tmp[4:6]会向您提供相关信息,您可以从那里开始。我希望这会有所帮助。

相关问题