В пакете генного фильтра R / Bioconductor есть замечательная функция kOverA
(стр. 18 в этом руководстве) .
Это просто метод фильтра, который, учитывая числовую матрицу, удаляет строки этой матрицы, которые не имеют k
-элементов, которые больше или равны A
-значению.
Как я могу сделать то же самое в MATLAB?
Примеры (упрощенно. В R kOverA
возвращает функцию, поэтому фактический синтаксис немного отличается, но это функциональность, которую я хочу):
m = [1 0 0 0 0 0 1 1 1 0
0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 1 1
0 1 0 1 0 1 0 1 0 1];
kOverA(m, A=1, k=0) → m
kOverA(m, A=2, k=1) → empty
kOverA(m, A=1, k=1) → [1 0 0 0 0 0 1 1 1 0
1 1 1 1 1 1 1 1 1 1
0 1 0 1 0 1 0 1 0 1]
kOverA(m, A=1, k=4) → [1 0 0 0 0 0 1 1 1 0
1 1 1 1 1 1 1 1 1 1
0 1 0 1 0 1 0 1 0 1]
kOverA(m, A=1, k=5) → [1 1 1 1 1 1 1 1 1 1
0 1 0 1 0 1 0 1 0 1]