Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.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 - Fatal编程技术网

R:使用条件语句在行和列上切片矩阵

R:使用条件语句在行和列上切片矩阵,r,matrix,R,Matrix,使用矩阵: C = matrix(c(2, 4, 3, 1, 5, 7), nrow=2, ncol=3, byrow = TRUE) 如何根据以下条件选择C的子矩阵:行的平均值必须大于2,列的平均值必须介于2和5之间 结果应为矩阵C的中间列 我想象两个布尔向量,一个用于列条件,一个用于行条件,可以组合成布尔矩阵。然后可以使用该布尔矩阵从C中选择子矩阵。这是正确的吗?如果是,如何实现它?天哪,这很容易。我没意识到你可以把布尔表达式直接放到矩阵标记中。。。 C[rowMeans(C) >

使用矩阵:

C = matrix(c(2, 4, 3, 1, 5, 7), nrow=2, ncol=3, byrow = TRUE)
如何根据以下条件选择C的子矩阵:行的平均值必须大于2,列的平均值必须介于2和5之间

结果应为矩阵C的中间列


我想象两个布尔向量,一个用于列条件,一个用于行条件,可以组合成布尔矩阵。然后可以使用该布尔矩阵从C中选择子矩阵。这是正确的吗?如果是,如何实现它?

天哪,这很容易。我没意识到你可以把布尔表达式直接放到矩阵标记中。。。
C[rowMeans(C) > 2, colMeans(C) > 2 & colMeans(C) < 5, drop = FALSE]
#     [,1]
#[1,]    4
#[2,]    5