如何使用第二个查询数据框的x,y索引号在数据框中创建新列?

时间:2019-09-17 21:25:44

标签: r dataframe indexing coordinates lookup

我有两个数据框。第一个是查找数据框,其中包含许多变量。示例:

Lookup <- data.frame(A = 1:7,B = 8:14)

  A  B
1 1  8
2 2  9
3 3 10
4 4 11
5 5 12
6 6 13
7 7 14

第二个包含模型的输出,其中两列引用查找数据帧的索引。例子

Model <- data.frame(Column = c(2,2), Row = c(7,4))

  Column Row
1      2   7
2      2   4

作为参考,我希望基于查找数据帧的索引在模型数据帧上再添加第三列。示例:

  Column Row Lookup
1      2   7     14
2      2   4     11

我打算在查询列中添加以下内容:

Model$Lookup <- Lookup[Model$Row,Model$Column]

但是,在我运行此代码的95%的时间内,向模型数据框中添加的列比我预期的要多得多。我怀疑我要在模型数据框中添加与数据行一样多的列-它们包含的数据来自Lookup数据框中,但顺序混乱。

另外5%的时间我只获得一栏,但50%的答案是正确的。其余的数据似乎是一些正确答案的副本。

这可能是基本的,但是任何人的帮助或想法都将不胜感激!

1 个答案:

答案 0 :(得分:1)

我们可以对matrix使用行/列索引

Model$Lookup <- Lookup[as.matrix(Model[2:1])]