如何提取m
where a
is even 的行?例如,
m = matrix(1:24, 6)
a = c(3, 4, 1, 1, 2, 5)
你的问题有点模棱两可,但我想我知道你的意思。对于您的数据:
m = matrix(1:24, 6)
a = c(3, 4, 1, 1, 2, 5)
您可能意味着要选择m
where a
is even 中的所有行。因此,在这种情况下,您需要 的第二行和第五行m
,因为只有 的第二和第五个元素a
是偶数。在这种情况下,这将起作用:
m[a %% 2 ==0,]
但是,我认为您的意思是要找到其中a
的偶数(在本例中为 2 和 4),然后选择m
. 在这种情况下,您将使用:
m[a[a %% 2 ==0],]
所以这将首先选择第四个,然后是第二行 m。但是请记住,如果您有两次偶数,它将选择该行两次。
如果您想按顺序选择行(第 2 行,然后是第 4 行),您可以:
m[sort(a[a %% 2 ==0]),]
尝试这个
m[which(a %% 2 != 0), ]