我有一个矩阵,第一列由字符和16列数字组成。像这样:
V1 V2 V3 V4 V5
E.5 13 16 19 7
E.2 7 3 3 5
E.6 7 7 6 6
E.1 30 18 28 16
E.3 51 54 52 44
我希望过滤超过特定数字的元素超过X%的行(例如,超过75%的元素)(比如10)。
我已经有这样的功能:
filter <- function(m,n){
b <- sapply(1:length(m[,1]),function(x){all(m[x,2:length(m[1,])]<n)}) # to filter out rows of matrix "m" with all elements smaller than "n".
m[!b,]}
如何根据我的要求更改?