프로그래밍언어/R기초
R - 행렬,데이터프레임 생성
윤채니챈
2023. 6. 20. 22:43
728x90
반응형
matrix -행렬 데이터 프레임 생성
matrix(data, nrow, ncol, byrow = FALSE, dimnames = NULL)
- data: 행렬로 변환할 데이터 요소 -> 벡터 또는 리스트 형태를 사용할 수 있다.
- nrow: 행의 개수
- ncol: 열의 개수
- byrow: 논리값 -> TRUE인 경우 데이터 요소를 행 우선 , FALSE로 열 우선 순서로 채운다.
- dimnames: 행렬의 차원 이름을 지정할 수 있는 선택적인 매개변수
데이터 형식예시
- data = 벡터값이 경우
# 3x3 행렬 생성
matrix <- matrix(c(1, 2, 3, 4, 5, 6, 7, 8, 9), nrow = 3, ncol = 3)
matrix
[,1] [,2] [,3]
[1,] 1 4 7
[2,] 2 5 8
[3,] 3 6 9
- data = list 인경우
# 리스트 생성
my_list <- list(
vec1 = c(1, 2, 3),
vec2 = c(4, 5, 6),
vec3 = c(7, 8, 9)
)
# 리스트에서 벡터 추출
vec1 <- my_list$vec1
vec2 <- my_list$vec2
vec3 <- my_list$vec3
# 벡터를 열로 사용하여 행렬 생성
mat <- matrix(c(vec1, vec2, vec3), nrow = 3, ncol = 3, byrow = TRUE)
# 행렬 출력
mat
$ 기호는 리스트에서 특정 요소를 추출하기 위해 사용되는 R의 구문
[,1] [,2] [,3]
[1,] 1 2 3
[2,] 4 5 6
[3,] 7 8 9
*byrow =FALSE로 바꾼경우 = 열 우선
# 리스트 생성
my_list <- list(
vec1 = c(1, 2, 3),
vec2 = c(4, 5, 6),
vec3 = c(7, 8, 9)
)
# 리스트에서 벡터 추출
vec1 <- my_list$vec1
vec2 <- my_list$vec2
vec3 <- my_list$vec3
# 행렬 생성 (Byrow = FALSE)
mat <- matrix(c(vec1, vec2, vec3), nrow = 3, ncol = 3, byrow = FALSE)
# 행렬 출력
mat
[,1] [,2] [,3]
[1,] 1 4 7
[2,] 2 5 8
[3,] 3 6 9
728x90
반응형