选择具有相同行的行的扩展名在不同的列中

时间:2014-12-03 15:31:25

标签: r

我在寻找类似的方法时发现了这一点。

Selecting rows with same result in different columns in R

有没有办法在一系列列中进行搜索?在链接中播放示例,如果不是catch[catch$tspp.name == catch$elasmo.name,],可以执行此操作吗? catch[catch$tspp.name == c[23:56],]其中R将搜索第23到56列中与tspp值匹配的值?

在此先感谢您,请告诉我是否最好就与之前帖子相关的主题发布独立提问或在上述帖子中插入跟进问题。

1 个答案:

答案 0 :(得分:1)

这是一种方法。这会找到X行,其中第一列显示在第2列到第9列中。

> set.seed(1)
> X<-matrix(sample(10,100,T),10)
> X
      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
 [1,]    3    3   10    5    9    5   10    4    5     3
 [2,]    4    2    3    6    7    9    3    9    8     1
 [3,]    6    7    7    5    8    5    5    4    4     7
 [4,]   10    4    2    2    6    3    4    4    4     9
 [5,]    3    8    3    9    6    1    7    5    8     8
 [6,]    9    5    4    7    8    1    3    9    3     8
 [7,]   10    8    1    8    1    4    5    9    8     5
 [8,]    7   10    4    2    5    6    8    4    2     5
 [9,]    7    4    9    8    8    7    1    8    3     9
[10,]    1    8    4    5    7    5    9   10    2     7
> X[rowSums(X[,1]==X[,2:9])>0,]
     [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,]    3    3   10    5    9    5   10    4    5     3
[2,]    3    8    3    9    6    1    7    5    8     8
[3,]    9    5    4    7    8    1    3    9    3     8
[4,]    7    4    9    8    8    7    1    8    3     9