根据另一个表更新数据框变量

时间:2013-04-13 23:38:31

标签: r dataframe data-analysis

我有两个数据框表1和表2每个都有两个变量(V1,V2) 我想要做的是根据表2的V2更新表1中每行的V2。

例如,在表1中有两行,其中V1 == 27,它们各自的V2值分别为6和7.根据表2,每个V1 == 27应为6.5,所以我想更新每个V1 ==表1中的27表示其V2 = 6.5。

如何用R?

实现这一目标
Table 1
  V1     V2
   1     1
   5     2
   18    3
   24    4
   25    5
   27    6
   27    7

Table 2
  V1     V2
   1     1.0
   5     20000.0
   18    3.0
   24    4.0
   25    5.0
   27    6.5

Resulting Table 3
  V1     V2
   1     1.0
   5     20000.0
   18    3.0
   24    4.0
   25    5.0
   27    6.5
   27    6.5

1 个答案:

答案 0 :(得分:4)

一对方法:

transform(table1, V2 = table2$V2[match(V1, table2$V1)])

merge(table1["V1"], table2, all.x = TRUE)