这似乎是一件简单的事情,我想知道最有效的方法是什么。假设我有一个数据帧“数据”和另一个具有我想要提取的索引的帧。
data<-as.data.frame(matrix(1:9,3,3))
idx<-cbind(c(1,3,2),c(2,3,1))
是否有一种简单的方法来获取idx指向的元素,假设第一行是行id而第二行是列id?
我试过data[idx[,1],idx[,2]]
希望能有效,但事实并非如此。
[,1] [,2] element
[1,] 1 2 4
[2,] 3 3 9
[3,] 2 1 2
我试图将元素列表放在单独的列表或向量中。
答案 0 :(得分:1)
尝试改为:
data[ cbind( idx[,1],idx[,2]) ]