R中矩阵的每一行中的唯一值的数量

时间:2016-05-11 01:45:10

标签: r unique

我有这个玩具矩阵:

m
     [,1] [,2] [,3] [,4] [,5] [,6] [,7]
[1,]    1    3    1    6    8    8    8
[2,]    2    2    5    7    9    7    4
[3,]    1    2    3    4    5    6    7
[4,]    1    2    3    4    5    6    7
[5,]    1    2    3    4    5    6    7

我想只保留4个唯一元素的行。

我最初的策略是使用......

apply(m, 1, function(x) unique(x))
[[1]]
[1] 1 3 6 8

[[2]]
[1] 2 5 7 9 4

[[3]]
[1] 1 2 3 4 5 6 7

[[4]]
[1] 1 2 3 4 5 6 7

[[5]]
[1] 1 2 3 4 5 6 7

...这将告知R每行中的唯一元素。

然后就像m[length(apply(m, 1, function(x) unique(x)))==4, ]一样简单。

但是,不是那么容易...... apply()的输出,至少在这种情况下是一个列表,因此,我不能使用这个技巧。

你能帮忙吗?

0 个答案:

没有答案