сравнить строки матрицы с другой - PullRequest
0 голосов
/ 09 октября 2018

У меня есть две матрицы, одна из эксперимента (df1), а другая - справочная (df2).Это полуколичественные значения из образцов, от 1 до 50. Я хотел бы сравнить все строки df1 из эксперимента, являются ли все значения истинными (такими же, как) для ссылки.

df1:

      [,1] [,2] [,3] [,4] [,5] [,6]
 [1,]    6   14   32   38   40   48
 [2,]    1   12   17   20   36   47
 [3,]    7   15   29   33   40   42
 [4,]    7   13   28   33   35   48
 [5,]    1    2   13   36   38   41
 [6,]   12   20   37   38   41   48
 [7,]   13   14   28   34   36   43
 ...more rows

 df2:
       [,1] [,2] [,3] [,4] [,5] [,6]
 [1,]    5   12   14   15   24   32
 [2,]    4    5   13   22   34   47
 [3,]    1   14   24   29   34   36
 [4,]    7   13   28   33   35   48
 [5,]   13   14   28   34   36   43
 [6,]    4   10   13   17   29   30
 [7,]    4   15   22   30   36   43
 [8,]    1   11   18   36   41   48
 [9,]   14   17   18   24   43   47
[10,]   13   24   32   34   41   47
...more rows

desired output:
 V1  V2   V3   V4   V5   V6   V7
 7   13   28   33   35   48   TRUE
13   14   28   34   36   43   TRUE

Какя могу сравнить все строки матрицы с другой матрицей, чтобы отсортировать все ИСТИННЫЕ строки?Спасибо.

1 Ответ

0 голосов
/ 09 октября 2018

Вот один из способов сделать это -

x <- matrix(1:4, nrow=2)

     [,1] [,2]
[1,]    1    3
[2,]    2    4

y <- matrix(c(1,2,5,4), nrow=2)

     [,1] [,2]
[1,]    1    5
[2,]    2    4

do.call(paste, as.data.frame(x)) %in% do.call(paste, as.data.frame(y))

FALSE  TRUE

Я предполагаю, что это должно быть быстрее, чем делать inner_join для всех столбцов.

...