R에서 목록을 행렬로 변환하는 방법(예제 포함)


다음 구문을 사용하여 R에서 목록을 행렬로 변환할 수 있습니다.

 #convert list to matrix (by row)
matrix(unlist(my_list), ncol= 3 , byrow= TRUE )

#convert list to matrix (by column)
matrix(unlist(my_list), ncol= 3 )

다음 예에서는 이 구문을 실제로 사용하는 방법을 보여줍니다.

예 1: 목록을 행렬로 변환(행 기준)

다음 코드는 R에서 목록을 행렬(행 기준)로 변환하는 방법을 보여줍니다.

 #create list
my_list <- list(1:3, 4:6, 7:9, 10:12, 13:15)

#view list
my_list

[[1]]
[1] 1 2 3

[[2]]
[1] 4 5 6

[[3]]
[1] 7 8 9

[[4]]
[1] 10 11 12

[[5]]
[1] 13 14 15

#convert list to matrix
matrix(unlist(my_list), ncol= 3 , byrow= TRUE )

     [,1] [,2] [,3]
[1,] 1 2 3
[2,] 4 5 6
[3,] 7 8 9
[4,] 10 11 12
[5,] 13 14 15

결과는 5개의 행과 3개의 열로 구성된 행렬입니다.

예 2: 목록을 행렬로 변환(열 기준)

다음 코드는 R에서 목록을 행렬(열 기준)로 변환하는 방법을 보여줍니다.

 #create list
my_list <- list(1:5, 6:10, 11:15)

#view list
my_list

[[1]]
[1] 1 2 3 4 5

[[2]]
[1] 6 7 8 9 10

[[3]]
[1] 11 12 13 14 15

#convert list to matrix
matrix(unlist(my_list), ncol= 3 )

     [,1] [,2] [,3]
[1,] 1 6 11
[2,] 2 7 12
[3,] 3 8 13
[4,] 4 9 14
[5,] 5 10 15

결과는 5개의 행과 3개의 열로 구성된 행렬입니다.

목록을 배열로 변환할 때 주의 사항

목록을 목록의 각 위치에 동일한 수의 요소가 없는 행렬로 변환하려고 하면 R에서 오류가 발생합니다.

다음 예에서는 이 점을 보여줍니다.

 #create list
my_list <- list(1:5, 6:10, 11:13)

#view list
my_list

[[1]]
[1] 1 2 3 4 5

[[2]]
[1] 6 7 8 9 10

[[3]]
[1] 11 12 13

#attempt to convert list to matrix
matrix(unlist(my_list), ncol= 3 )

Warning message:
In matrix(unlist(my_list), ncol = 3):
  data length [13] is not a sub-multiple or multiple of the number of rows [5]

추가 리소스

다음 튜토리얼에서는 R에서 다른 일반적인 변환을 수행하는 방법을 설명합니다.

R에서 목록을 벡터로 변환하는 방법
R에서 행렬을 벡터로 변환하는 방법
R에서 데이터 프레임 열을 벡터로 변환하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다