R 如何删除占其90%的行';的条目小于某个阈值?

R 如何删除占其90%的行';的条目小于某个阈值?,r,R,给定非常大的矩阵,我需要删除矩阵中90%的条目小于20的行。 是否有人可以帮助在R中实现这一点?这可能会帮助您: m <- matrix(1:20, nrow = 4) m # [,1] [,2] [,3] [,4] [,5] #[1,] 1 5 9 13 17 #[2,] 2 6 10 14 18 #[3,] 3 7 11 15 19 #[4,] 4 8 12 16 20 一些解

给定非常大的矩阵,我需要删除矩阵中90%的条目小于20的行。 是否有人可以帮助在R中实现这一点?

这可能会帮助您:

m <- matrix(1:20, nrow = 4)
m
#      [,1] [,2] [,3] [,4] [,5]
#[1,]    1    5    9   13   17
#[2,]    2    6   10   14   18
#[3,]    3    7   11   15   19
#[4,]    4    8   12   16   20

一些解释:
rowSums(m>2)
统计每行中有多少条目大于每行的2
0.9*ncol(m)
是90个列的阈值,对每行比较这两个值,如果为真,则选中该行,如果为假,则删除/删除该行。

我想这里的人都在期待,为了有效地帮助你。人们希望你第一次就清楚地定义你的问题……+1-我更喜欢稍微重新调整一下,而不是
m[rowSums(m>2)/ncol(m)>=0.9,]
,但是你说/təmeɪtoʊz/我说/təmˈtoʊz/“所以……谢谢@thelatemail,我也喜欢你的建议:)@初学者,谢谢,但这不是正确的答案。对于90%的enteris,我的意思是,如果我有100列,我想删除其中90个enteries小于2的行。您可以轻松地调整我的代码以满足您的特定需求,而这些需求在您的问题中没有很好地指定。查看将>=更改为<或将0.9替换为0.1等时发生的情况。@初学者:好的。所以所有的真理都被计算或求和。但是行和(m[m>2])不起作用:行和(m[m>2])中的错误:“x”必须是至少二维的数组
m[rowSums(m > 2) >= 0.9*ncol(m),]  
#     [,1] [,2] [,3] [,4] [,5]
#[1,]    3    7   11   15   19
#[2,]    4    8   12   16   20