根据列表中的元素子集数据框

时间:2015-08-04 23:55:13

标签: r dataframe

这似乎是一件简单的事情,我想知道最有效的方法是什么。假设我有一个数据帧“数据”和另一个具有我想要提取的索引的帧。

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

我试图将元素列表放在单独的列表或向量中。

1 个答案:

答案 0 :(得分:1)

尝试改为:

 data[ cbind( idx[,1],idx[,2]) ]