Как удалить строки матрицы в зависимости от разных матриц с одинаковыми размерами в r? - PullRequest
0 голосов
/ 02 июля 2018

У меня есть матрицы a и b с одинаковыми размерами. Я хотел бы отбросить все строки в a и b, где условие в a не выполняется.

Минимальный пример:

Я хотел бы сохранить только строки, где последний элемент строки равен 4 в a:

a
 [,1] [,2] [,3]
[1,]    1    2    3
[2,]    2    3    4

b
 [,1] [,2] [,3]
[1,]    7    7    7
[2,]    8    8    8

a[a[,3] == 4,]
[1]    2    3    4

# do stuff, so I am also only left with 
b 
[1]    8    8    8

Что бы умный способ сделать это?

1 Ответ

0 голосов
/ 02 июля 2018

Если вы знаете, что объекты имеют одинаковые размеры, тогда логические индексы для a также будут работать для b:

a[a[,3] == 4,]
b[a[,3] == 4,]

Если у них разное количество строк, это перезапустится (с предупреждением).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...