2

我正在尝试过滤包含至少 3 个观察值大于或等于 0.7 的表行。这是我想在R中做的一个例子:

   sA  sB  sC  sD  sE  sF
g1 0.1 0.2 0.8 1.2 0.5 0.0
g2 0.7 0.3 0.9 0.8 0.5 1.0
g3 0.2 0.3 0.8 0.9 0.5 0.0
g4 0.5 0.4 0.9 0.7 0.5 1.0
g5 0.2 0.2 0.8 0.9 0.5 0.0

过滤将导致:

   sA  sB  sC  sD  sE  sF
g2 0.7 0.3 0.9 0.8 0.5 1.0
g4 0.5 0.4 0.9 0.7 0.5 1.0

有人可以帮我解决这个问题吗?

4

2 回答 2

4

如果 x 是您的数据,

   > x[rowSums(x >= 0.7) >= 3,]
            sA  sB  sC  sD  sE sF
        g2 0.7 0.3 0.9 0.8 0.5  1
        g4 0.5 0.4 0.9 0.7 0.5  1
于 2013-07-19T12:09:18.673 回答
0

如果 a 是您的表名。

您可以通过以下方式访问请求的行:

a[应用(a>=0.7,1,sum) >=3,]

       sA  sB  sC  sD  sE sF
   g2 0.7 0.3 0.9 0.8 0.5  1
   g4 0.5 0.4 0.9 0.7 0.5  1
于 2013-07-19T12:14:13.367 回答