2013-06-24 148 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]會給你的信息,你可以從那裏走。我希望這有幫助。