2013-02-03 3 views
1

나는 expand.grid()를 사용하여 생성 된 행렬 목록을 가지고 있습니다. 나는 목록에 내가 필요한 순서대로 발생하지 않는 것으로 나타났습니다 명령정렬 R 열의 수에 의한 행렬 목록 R

myarray.dim=sapply(myarray, ncol) 

을 사용

myarray=matrix(rexp(200),10,3) 
list.of.matrices <- apply(expand.grid(rep(list(c(FALSE, TRUE)), ncol(myarray))), 
           1, function(j)myarray[, j, drop = FALSE]) 

. 가능하다면 1 열에서 3 열까지 주문하겠습니다.

답변

2

좋아요?

lapply(order(sapply(list.of.matrices,ncol)),function(i) list.of.matrices[[i]]) 

목록의 항목이 0입니다.

+0

그게 정확히 내가 필요로하는 것이 좋습니다. 이 제로 컬럼 엔트리가 생성 된 이유를 알고 있습니까? – nopeva

+0

@ user1228124'expand.grid (rep (list (c (FALSE, TRUE)), ncol (myarray))))'의 결과를보세요. – Roland

+3

또는 그냥'list.of.mat [order (sapply (list.of.mat, ncol))]' – flodel