2013-06-24 152 views
-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 

现在,在我选择的第二部分,我想删除这些特定的来自数据框的行。我该如何解决它?

回答

1

这听起来像你真的想你的split数据框,而不是从它删除行。如果dataframes是大小相等的,你想这三个提取dataframes是随机的样本,指定是这样的:

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

获得三个采样的名单,互斥dataframes。无需从原始数据框中删除任何内容。

另外,如果要使数据帧具有不同的大小,则可以在sample中指定prob参数。

0

你可以品尝1:6,然后再从洗牌后的6个号码中提取的信息:

tmp <- sample(6, 6) 

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