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에서 데이터 프레임 열을 벡터로 변환하는 방법