У меня есть матрица с 276 выборками столбцов и 215000 строк.Значения варьируются от нуля до некоторого неотрицательного значения.
Я буду использовать mtcars в качестве упрощенного примера.
Мне нужно отфильтровать строки, в которых менее 50% (может быть любой процент) выборок не достигает определенного значения, например 1.
Пример матрицы:
Tmtcars <- t(mtcars[1:5,c(2, 8:11)])
Мне нужно выбрать строки, где не менее 50% ячеек равно или больше 1.
Только строка «vs = c»(0,0,1,1,0) »не соответствует этому условию.Поскольку только 2 ячейки (40%) равны 1 или больше.
Строка «am = c (1,1,1,0,0)» должна быть выбрана, поскольку 3 ячейки (60%) равны илибольше 1.
Если я запускаю функцию rowMeans
Filtered <- Tmtcars[(rowMeans(Tmtcars) >= 1 ) >=0.5, ]
, строка «am» не выбрана.
Критерием выбора должно быть 50%Ячейки соответствуют критериям, не имеют ничего общего со средним.
Спасибо!