2012-12-07 1 views
7

R에서 행렬의 목록을 만드는 방법내가 2D의 목록 행렬 생성 할

> x 
    [,1] [,2] 
[1,] 1 6 
[2,] 2 7 
[3,] 3 8 
[4,] 4 9 
[5,] 5 10 

> y 
    [,1] [,2] 
[1,] 301 306 
[2,] 302 307 
[3,] 303 308 
[4,] 304 309 
[5,] 305 310 

> MATS<-c(x,y) 

> MATS[1] 
[1] 1 
내가 매트를 참조 할 수 있도록하고 싶습니다

[1] 것처럼 X ...

답변

10

는 완 경우가 x

인 것처럼 당신이 MATS[[1]]를 참조 할 필요가 여기에

x <- matrix(1:10, ncol=2) 
y <- x+300 

MATS <- list(x, y) # use 'list' instead of 'c' to create a list of matrices 
MATS 
[[1]] 
    [,1] [,2] 
[1,] 1 6 
[2,] 2 7 
[3,] 3 8 
[4,] 4 9 
[5,] 5 10 

[[2]] 
    [,1] [,2] 
[1,] 301 306 
[2,] 302 307 
[3,] 303 308 
[4,] 304 309 
[5,] 305 310 

시도 당신이 그것을 모르는 경우 t는 종료 목록에 새 행렬이 방법의

z <- x+500 
MATS[[3]] <- z # appeding a new matrix to the existing list 
MATS 

[[1]] 
    [,1] [,2] 
[1,] 1 6 
[2,] 2 7 
[3,] 3 8 
[4,] 4 9 
[5,] 5 10 

[[2]] 
    [,1] [,2] 
[1,] 301 306 
[2,] 302 307 
[3,] 303 308 
[4,] 304 309 
[5,] 305 310 

[[3]] 
    [,1] [,2] 
[1,] 501 506 
[2,] 502 507 
[3,] 503 508 
[4,] 504 509 
[5,] 505 510 

하나의 단점은 당신이 새로운 매트릭스를 추가해야 목록의 위치를 ​​알고 있어야한다는 것입니다 시도에 추가하기 또는 단순히이 접근법을 원하지 않는다면, 여기에 속임수가 있습니다 :

unlist(list(MATS, list(z)), recursive=FALSE) # will give u the same list :D 
+1

@jiber 감사합니다. 목록에 다른 행렬을 추가하려면? 구문은 무엇이 좋을까요? 나는 이것을 반복한다. – ManInMoon

+0

완벽한 감사합니다 – ManInMoon

+0

@ Jilber 감사합니다. 텍스트 또는 CSV 파일에서 이러한 일을 읽는 것은 어떻습니까? – metaforge