如何找到与其他值相似但不相同的值?

时间:2014-07-28 17:16:53

标签: r

我正在尝试将一个表中的值绑定到与另一个表类似的索引。我的表看起来像这样:

V1  V2  
1   1.2352
2   3.2345
3   2.2132
4   3.3344

另一张表看起来像这样

V1  V2
1A  1.9494
1B  1.5092
1C  1.3242
2A  1.3833
2B  2.5223
etc...

我正试图找到这样的表

V1  V2       V3 (value from table 1)
1A  1.9494   1.2352
1B  1.5092   1.2352
1C  1.3242   1.2352
2A  1.3833   3.2345
2B  2.5223   3.2345

然后,我必须遍历一堆高达1A1A1的表,

所以最后它看起来像这样:

V1      V2     V3     V4    V5    
1A1A1   1A1A   1A1    1A    1
1A1A2   1A1A   1A1    1A    1
1A1B1   1A1B   1A1    1A    1
 etc....

有什么想法? 谢谢!

1 个答案:

答案 0 :(得分:0)

这会让你进入上面的第三个表格 - 你说你想要去的那个表格。即使你澄清了评论,我也不明白最后一张表是什么。

# create data frames
df1 <- cbind(1:4,
             rnorm(4, mean = 2)
             )
df2 <- cbind(c('1A', '1B', '1C', '2A', '2B'),
             rnorm(5, mean = 2)
             )

# create a column in the second data frame to match on
df2 <- cbind(df2,
             data.frame(substr(df2[ , 1], start = 1, stop = 1))
             )
names(df2) <- c('V1', 'V2', 'V3')

# merge the two data frames by the key they have in common
merge(df2,
      df1,
      by.x = 'V3',
      by.y = 'V1'
      )

您可以删除列或重新组织它们,但此时您还可以。