Как создать каждую возможную пару в матрице - PullRequest
1 голос
/ 19 июня 2019

У меня проблема, я не знаю, как подойти. У меня есть список элементов в матрице, и я хочу создать матрицу, которая вместо этого будет содержать все возможные комбинации двух из этих элементов.

Скажем, у меня есть matrix_1, которая выглядит следующим образом:

Matrix_1 <- as.matrix(a,b,c)

[,1]
A
B
C

Из этого я хотел бы сделать матрицу, которая выглядит следующим образом

[,1] [,2]
A A
A B
A C
B A
B B
B C
C A
C B
C C

Как мне это сделать?

1 Ответ

5 голосов
/ 19 июня 2019

Мы можем использовать expand.grid

as.matrix(expand.grid(LETTERS[1:3], LETTERS[1:3]))

-

Или использовать crossing

library(tidyverse)
crossing(A1= LETTERS[1:3], B1 = LETTERS[1:3])

Или с outer

c(t(outer(LETTERS[1:3], LETTERS[1:3], paste0)))
#[1] "AA" "AB" "AC" "BA" "BB" "BC" "CA" "CB" "CC"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...