r - 파이썬 - 조합 행렬 생성 방법




비주얼 스튜디오 파이썬 모듈 (2)

그렉의 대답을 일반화하려면 :

N   <- 5
vec <- c(-1, 1)
lst <- lapply(numeric(N), function(x) vec)
as.matrix(expand.grid(lst))

각 항목에 1 또는 -1의 값을 취할 수있는 5 개의 항목이 있습니다. 가능한 조합의 행으로 구성된 행렬을 생성하려고합니다. 항목의 순서는 중요하지 않으며 조합의 순서는 중요하지 않습니다. 나는 이것을 기계적으로 할 수 있다는 것을 알고 있지만, 누군가는이 행렬을 생성하는 지름길을 알아야한다고 생각했습니다. 이것이 다른 질문과 유사하다면 사과드립니다. 그러나 발견 한 해결책 중 어느 것도 프로그래밍 기술에 대한이 특정 문제에 적용될 수 없습니다.


data.table 패키지의 대안은 data.table 비해 약간 빠릅니다.

library(data.table)  
CJ(c(-1,1), c(-1,1), c(-1,1), c(-1,1), c(-1,1))






cross-join