如何使用另一个索引data.frame来检索特定的data.frame组合?

时间:2017-02-27 11:51:36

标签: r dataframe

我在R中进行数据验证项目。经过计算,我生成了2个Dataframes如下:

registry = data.frame(Name=c("Joshi","Rahul","Sharma", "Joseph"), Grade=c(1,7,3,2))
indices = data.frame(c(1,2), c(2,4), c(3,2))

基本上,索引包含我想要数据的行和列的索引。在R中有没有办法可以得到以下结果:

--------------------------------------------------
|Name               |   Grade              |
--------------------------------------------------
|Joshi              |   7                  |   
--------------------------------------------------
|Rahul              |   2                  |
--------------------------------------------------
|Sharma             |   7                  |
--------------------------------------------------

R中是否有方法可以实现此目的?我搜索了它,但找不到任何答案。提前谢谢。

1 个答案:

答案 0 :(得分:1)

这是一个选项:

i <- t(indices)
data.frame(Name = registry[i[,1],1], Grade = registry[i[,2],2])
#    Name Grade
#1  Joshi     7
#2  Rahul     2
#3 Sharma     7

还有第二种选择:

as.data.frame(Map(`[`, registry, as.data.frame(i)))
#    Name Grade
#1  Joshi     7
#2  Rahul     2
#3 Sharma     7