У меня есть 5 элементов, каждый из которых может принимать значение 1 или -1. Я хочу создать матрицу, состоящую из строк возможных комбинаций. Порядок предметов не имеет значения, и порядок комбинаций не имеет значения. Я знаю, что могу сделать это механически, но я подумал, что кто-то должен знать ярлык для создания этой матрицы. Я прошу прощения, если это похоже на другие вопросы, но ни одно из найденных нами решений не может быть применено к этой конкретной проблеме с моими навыками программирования.
Как создать матрицу комбинаций
Ответ 1
expand.grid(c(-1,1), c(-1,1), c(-1,1), c(-1,1), c(-1,1))
Ответ 2
Чтобы обобщить ответ Грега:
N <- 5
vec <- c(-1, 1)
lst <- lapply(numeric(N), function(x) vec)
as.matrix(expand.grid(lst))
Ответ 3
Альтернатива пакета data.table
немного быстрее по сравнению с expand.grid
:
library(data.table)
CJ(c(-1,1), c(-1,1), c(-1,1), c(-1,1), c(-1,1))