Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 矩阵中有序向量的有效搜索_R_Matrix_Vector - Fatal编程技术网

R 矩阵中有序向量的有效搜索

R 矩阵中有序向量的有效搜索,r,matrix,vector,R,Matrix,Vector,我有一个由有序向量行组成的矩阵: v1 v2 v3 v4 v5 v6 v7 v8 v9 .... v45 v46 v47 v48 1 2 2 2 2 3 NA 3 3 .... 4 4 NA NA 3 3 4 4 4 NA NA NA NA .... 5 NA NA NA 4 4 4 5 5 5 5 5 5 .... NA NA NA NA ... 我想在R中找到一种有效的方法,使用R通过矩阵用有序向量(3,4)(即a

我有一个由有序向量行组成的矩阵:

v1 v2 v3 v4 v5 v6 v7 v8 v9 .... v45 v46 v47 v48
1  2  2  2  2  3  NA 3  3  ....  4   4   NA  NA
3  3  4  4  4  NA NA NA NA ....  5   NA  NA  NA
4  4  4  5  5  5  5  5  5  ....  NA  NA  NA  NA
...
我想在R中找到一种有效的方法,使用R通过矩阵用有序向量(3,4)(即a 3在a 4之前)对记录进行子集

1  2  2  2  2  3  NA 3  3  ....  4   4   NA  NA
3  3  4  4  4  NA NA NA NA ....  5   NA  NA  NA
会议将分组表决。如果我子集了一个向量(1,2,3)(即2之前的1,然后是3),我将返回此行:

1  2  2  2  2  3  NA 3  3  ....  4   4   NA  NA
也许你想要这个

set.seed(1)
data <- matrix(sample(1:10, 100, replace=TRUE), ncol=5)

searchfor <- c(1,2,3)
data[apply(data, 1, function(x) all(searchfor %in% x)),]
另一个载体

searchfor <- c(7,8,9)
data[apply(data, 1, function(x) all(searchfor %in% x)),]
资料


不是100%确定你在问什么,但是
yourMatrix[2:3,]
?你也可以定义向量
v你所说的“有序向量(3,4)”是什么意思?很抱歉不清楚:我想找到所有在4之前有3,在2和3之前有1的行。可能在这些值之间会缺少一些值,因此我需要一种健壮的方法来选择所有此类情况。例如,我的第一个示例(3,4)也应该能够提取一行,例如3 NA NA 4。当搜索
7/8/9
好的点时,这会拾取
7/9/8
,但OP的数据是
有序向量行
。只要我正确地解释OP的目标,它就应该工作…(也许)哈哈,坏了的时钟等等
searchfor <- c(7,8,9)
data[apply(data, 1, function(x) all(searchfor %in% x)),]
     [,1] [,2] [,3] [,4] [,5]
[1,]    7    9    8    1    3
[2,]    5    7    1    9    8
[3,]    4    8    7    8    9
      [,1] [,2] [,3] [,4] [,5]
 [1,]    3   10    9   10    5
 [2,]    4    3    7    3    8
 [3,]    6    7    8    5    4
 [4,]   10    2    6    4    4
 [5,]    3    3    6    7    8
 [6,]    9    4    8    3    3
 [7,]   10    1    1    5    8
 [8,]    7    4    5    8    2
 [9,]    7    9    8    1    3
[10,]    1    4    7    9    2
[11,]    3    5    5    4    3
[12,]    2    6    9    9    1
[13,]    7    5    5    4    7
[14,]    4    2    3    4    9
[15,]    8    9    1    5    8
[16,]    5    7    1    9    8
[17,]    8    8    4    9    5
[18,]   10    2    6    4    5
[19,]    4    8    7    8    9
[20,]    8    5    5   10    7