2013-10-29 55 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