I\'m dealing with very big matrix. I want just keep the rows of the matrix which 90% of it\'s entries are bigger than 10. Since I\'m not familiar much with R, would someon
I would just use rowSums and common comparison operators.
Here's a minimal example:
set.seed(1); m <- matrix(sample(50, 100, TRUE), ncol = 10)
rowSums(m > 10) == ncol(m)
# [1] TRUE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
m[rowSums(m > 10) == ncol(m), ]
# [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
# [1,] 14 11 47 25 42 24 46 17 22 12
# [2,] 29 35 33 25 40 22 23 18 20 33
To accommodate a fractional approach, try something like:
m[rowSums(m > 10) >= (.9 * ncol(m)), ]