R

[R] 벡터, 행렬, 배열

Uno_says 2024. 3. 22. 15:50
728x90

 

 

 

 

 

 

 

 

《벡터에서 요소 가져오기》

        1. 벡터에서 하나의 요소 가져오기

                 벡터명[인덱스번호]

                 벡터명[열 이름]

 

        2.벡터에서 여러개 요소 가져오기

                 벡터명[여러개 인덱스번호가 담긴 벡터]

                 벡터명[여러개 열 이름이 담긴 벡터]

                 벡터명[-인덱스번호] -> 인덱스번호를 제외한 나머지 요소를 가져온다

 

        3. 벡터에서 조건에 해당하는 요소 가져오기

                 벡터명[논리벡터] -> 각각의 요소에 논리벡터의 논리값이 부여된다

                 -> 부여된 논리값이 참(TRUE)인 요소만 가져온다

 

 

《벡터의 연산》

        1. 산술 연산자

                 각 요소의 값을 산술 연산한다

                 * 연산하는 벡터의 길이가 같지 않으면, 길이가 짧은 벡터의 값을 재사용하여 연산이 진행된다

 

        2. 관계 연산자

                 각 요소의 값을 관계 연산한다

 

        3. 논리 연산자

                 각 요소의 값을 논리 연산한다

 

 

《매트릭스(행렬)》

        같은 자료형의 여러개의 값들이 행과 열, 2차원 구조

        행 : 가로줄(row), 열 : 세로줄(column)

 

 

《매트릭스 생성》

        matrix(데이터 -> 벡터)

 

        data : 매트릭스로 만들 여러개의 값들(벡터로 전달한다)

        nrow : 행의 개수

        ncol : 열의 개수

        byrow : 데이터를 채우는 방향. F(열 방향), T(행 방향)

 

        ex) matrix(data = 1:9, ncol = 3)

 

 

《매트릭스에서 요소 가져오기》

        매트릭스명[행 인덱스번호, 열 인덱스번호]

        매트릭스는 인덱스번호가 2개가 존재한다 -> 행, 열 인덱스번호

 

        1. 하나의 행 데이터를 가져오기

                          매트릭스명[행의 인덱스번호, ]

                          -> 인덱스번호 행의 모든 열을 가져온다

 

        2. 하나의 열 데이터를 가져오기

                          매트릭스명[ , 열의 인덱스번호]

                          ->인덱스번호 열의 모든 행을 가져온다

 

        3. 여러개의 행 데이터 가져오기

                          매트릭스명[행의 인덱스번호를 담은 벡터, ]

 

        4. 여러개의 열 데이터 가져오기

                          매트릭스명[ , 열의 인덱스번호를 담은 벡터]

 

        5. 특정 행과 열을 제외하고 가져오기

                          매트릭스명[ -제외할 행 인덱스번호, -제외할 열 인덱스번호]

 

 

《매트릭스의 정보》

        1. str() : 행렬의 정보

        2. length() : 행렬 전체의 데이터 개수

        3. dim() : 행렬의 행, 열의 개수

        4. nrow() : 행렬의 행 개수

        5. ncol() : 행렬의 열 개수

        6. dimnames() : 행렬의 행과 열의 이름

 

 

《행렬의 행과 열의 이름》

        rownames() : 행렬의 행 이름

        colnames() : 행렬의 열 이름

 

        행렬의 행과 열에 이름을 붙이면 인덱스번호 대신 이름을 사용할 수 있다

 

 

《행렬의 사용》

        1. 추가

                          행 추가 : rbind(기존행렬, 추가할 행)

                          열 추가 : cbind(기존행렬, 추가할 열)

 

        2. 수정

                          행렬명[행 인덱스번호, 열 인덱스번호] <- 새로운 값

 

        3. 삭제

                          행렬명 <- 행렬명[ -삭제할 요소의 행 인덱스번호, -삭제할 요소의 열 인덱스번호]

 

        * rbind(), cbind() 함수를 통해 벡터로 행렬을 생성할 수 있다

                 rbind(벡터1, 벡터2) : 벡터 2개를 가로로 결합하여 행렬 생성

                 cbind(벡터1, 벡터2) : 벡터 2개를 세로로 결합하여 행렬 생성

 

 

《행렬의 연산》

        두 개의 행렬을 산술연산하면 행렬의 요소끼리 연산된다

        -> 벡터와 달리 두 행렬의 행과 열의 개수가 일치해야 한다

 

        행렬의 내적(곱셈), 외적, 전치행렬, 역행렬을 구할 때는 관련함수나 연산자를 사용한다

 

        * 내적 : 행렬 %*% 행렬

        * 외적 : 행렬 %o% 행렬

        * 전치행렬 : t()

        * 역행렬 : solve()

 

 

《배열(array)》

        행, 열, 면의 3차원의 형태

        행렬이 여러면(층)으로 구성된 구조

        같은 자료형의 여러개의 데이터를 저장할 수 있다

 

 

《배열 생성》

        array(데이터, dim = c(행의 수, 열의 수, 면의 수))

        dim 옵션에 값을 몇 개 전달하냐에 따라 1차원, 2차원, N차원의 배열이 생성된다

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

        

                

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90