R函数用于过滤具有相同十年的数字的行

时间:2017-06-07 09:49:20

标签: r

具有以下矩阵:

      [,1] [,2] [,3] [,4]  [,5]  [,6]  [,7]  [,8]  [,9]  [,10]  [,11]  [,12] 
 [1,]   23   14   17   10     2     6    90    45    56     25     11      9 
 [2,]    1   15   18   21     2    26    35    50    81     33     61     93 
 [3,]    6   19   98   23    22     7     8    25    61     54     22     38 

我想只获得同一十年内不超过3个数字的行。 所以结果必须是:

[1] False
[2] True
[3] False

所以最后我们只得到满足条件的[2]。你能提供一个可以产生这个结果的R语言函数吗?

此致,Dimitris

1 个答案:

答案 0 :(得分:2)

我们可以使用apply

m1[!apply(m1, 1, FUN = function(x) any(table(x %/%10) > 3)), , drop = FALSE ]
#     [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12]
#[1,]    1   15   18   21    2   26   35   50   81    33    61    93