在R中的列表中找到数字的所有索引

时间:2016-04-09 22:34:38

标签: r list matrix

我有一个矩阵列表(每个矩阵中有2行和不同数量的列)。这里感兴趣的是每个矩阵中的第一行。我想要一种有效的方法来查找列表中每个元素的列,该列具有一定的值。列表中每个元素的第一行都包含所有唯一值。请考虑下面的示例列表。

> example <- list(matrix(1:6, nrow = 2), matrix(c(1,5,6,4,3,6,4,6,7,9), nrow = 2), matrix(c(1,7,5,9), nrow = 2))
> example
[[1]]
     [,1] [,2] [,3]
[1,]    1    3    5
[2,]    2    4    6

[[2]]
     [,1] [,2] [,3] [,4] [,5]
[1,]    1    6    3    4    7
[2,]    5    4    6    6    9

[[3]]
     [,1] [,2]
[1,]    1    5
[2,]    7    9

如果我想找到数字“3”的出现位置,在列表的每个元素的第一行中,返回的对象看起来像,

> index <- matrix(c(1, 2, 3, 2, 3, 0), ncol = 2)
> index
     [,1] [,2]
[1,]    1    2
[2,]    2    3
[3,]    3    0

其中输出矩阵表示在第2列的第1个元素中,第3列的第2个元素中出现“3”,而在第3个元素中没有出现。

我可以使用双循环,我希望有一种更有效的方法。

0 个答案:

没有答案