2013-10-29 77 views
0

我在這裏有一點點。我需要自動填充單元格,並重復其中有重複,並不是爲了。我相信這不是很清楚。鏈接數據集之間的值

在生物學研究中,有x個人。像個人的性別和體重的信息留在整個研究過程中保持一致:

| Ind | S | W | 
| 1 | M | 4 | 
| 2 | M | 6 | 
| 3 | F | 2 | 
| 4 | M | 8 | 
| 5 | F | 4 | 
| 6 | F | 3 | 
... 

有哪些是從個體測試科目採取多次某些測量。現在我有兩張電子表格。一個具有一致的值,如上面列出的那些,以及一個有多個值(樣品A和B如下)每個個體:

| Ind | A | B | 
| 1 | .1 | 4 | 
| 1 | .2 | 6 | 
| 1 | .1 | 2 | 
| 1 | .3 | 8 | 
| 2 | .1 | 4 | 
| 2 | .1 | 3 | 
| 2 | .3 | 4 | 
| 3 | .2 | 6 | 
| 3 | .2 | 2 | 
| 3 | .1 | 8 | 
| 3 | .1 | 4 | 
| 3 | .1 | 3 | 

基本上,前我開始運行這些數據的統計信息,我想在多個樣本工作表上填寫一致的值,我真的很想避免手動做,因爲數據集比這個長得多。最終結果將如下所示:

| Ind | A | B | S | W | 
| 1 | .1 | 4 | M | 4 | 
| 1 | .2 | 6 | M | 4 | 
| 1 | .1 | 2 | M | 4 | 
| 1 | .3 | 8 | M | 4 | 
| 2 | .1 | 4 | M | 6 | 
| 2 | .1 | 3 | M | 6 | 
| 2 | .3 | 4 | M | 6 | 
| 3 | .2 | 6 | F | 2 | 
| 3 | .2 | 2 | F | 2 | 
| 3 | .1 | 8 | F | 2 | 
| 3 | .1 | 4 | F | 2 | 
| 3 | .1 | 3 | F | 2 | 

正如您所看到的,個人不一定具有相同數量的多個樣本。是不一致的野外工作!使用正則表達式或R來執行此操作的可接受方法將非常有用!

回答

0

你想要的東西是merge。如果這些都在R讀取在兩個data.frame對象,那麼你只:

merge(dataframe1, dataframe2) 

所有你需要做的是確保該Ind列都具有相同的名稱。

+0

data.table,match和%in%可以更快地連接兩個數據集(匹配和%中的%稍有不同)。 – user1436187