Условно удаляя строки в матрице - PullRequest
3 голосов
/ 05 февраля 2012

У меня есть матрица 22x14.Некоторые записи в матрице имеют значение «-1», что означает отсутствие данных.

  1. Я хотел бы иметь возможность удалить строку, чья запись j th равна '-1'
  2. Я хотел бы иметь возможность удалитьСтрока, любая запись которой равна '-1'

Я искал это здесь и wolfram, но все, что я видел, это команды, которые позволяют одному безоговорочно удалить конкретную строку или столбец.

1 Ответ

5 голосов
/ 05 февраля 2012

Вы можете использовать DeleteCases для этого, например, если table - ваши данные, тогда для первого случая вы можете сделать

DeleteCases[table, a_/;a[[j]]===-1]

, где j - индекс, который вы хотите проверитьи для второго случая

DeleteCases[table, a_ /; MemberQ[a, -1]]

Другими функциями, которые можно использовать для выбора элементов из списков на основе шаблонов или критериев выбора, являются Cases и Select.

...