我在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中是否有方法可以实现此目的?我搜索了它,但找不到任何答案。提前谢谢。
答案 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