채니의 개발일기

R - 행렬,데이터프레임 생성 본문

프로그래밍언어/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
반응형

'프로그래밍언어 > R기초' 카테고리의 다른 글

R - 조건문 (if else)  (0) 2023.06.21
R - apply 함수, lapply함수  (0) 2023.06.21
R - 데이터프레임인덱스  (0) 2023.06.19
R - 사용자 함수 정의 : function()  (0) 2023.06.19
ggplot 사용하기  (1) 2023.06.17