R

[R] 벡터

Uno_says 2024. 3. 19. 19:52
728x90

 

 

 

 

《R의 자료구조》

  1. 스칼라 : 하나의 값을 저장하는 구조
  2. 벡터 : 1차원의 구조. 같은 자료형만 저장가능
  3. 행렬(매트릭스) : 2차원의 구조. 같은 자료형만 저장가능
  4. 배열 : 행렬을 여러개 저장하는 구조(N차원). 같은 자료형만 저장가능
  5. 데이터프레임 : 행렬과 같은 구조. 다른 자료형을 저장가능
  6. 리스트 : 여러 자료구조를 저장하는 구조. 다른 자료형을 저장가능

    * 요인 : 범주형 자료를 사용하는 벡터

 

    * 다른 자료형을 저장할 수 있는 구조 : 데이터프레임, 리스트

    * 같은 자료형을 저장할 수 있는 구조 : 벡터(1차원), 행렬(2차원), 배열(N차원)

 

 

《벡터(vector)》

            같은 자료형을 가진 여러개의 값들을 저장하는 구조

            여러개의 값들은 나열되어 저장되기 때문에 순서가 존재한다

            인덱스(index) : 각 값에 부여된 순서번호. 1번부터 시작하고 순차적으로 증가한다.

                1          2         3          4        -> 인덱스

            [  값1  ][  값2  ][  값3  ][  값4  ]

 

 

《벡터 생성》

            1. c() 함수 : c(값1, 값2, 값3, 값4...)

                                      ex) c(1, 3, 5, 7), c("길동", "영희", "철수")

            2. seq() 함수 : seq(from = 시작값, to = 끝값, by = 증감값)

                                      시작값부터 끝값까지 증감하는 값들을 벡터로 만든다

                                      * by 생략 : 시작값 < 끝값 -> 1씩 증가

                                                        시작값 < 끝값 -> 1씩 감소

                                      규칙성이 있는 숫자 값들을 벡터로 만들 때 주로 사용한다

            3. 콜론 연산자(:)

                                      시작값 : 끝값

                                      시작값부터 끝값까지 1씩 증감하는 값들을 벡터로 만든다

                                      시작값 < 끝값 -> 1씩 증가

                                      시작값 > 끝값 -> 1씩 감소

            4. rep() 함수(복제) : rep(벡터, each, times)

                                      ex) rep(1:3, each = 2, times = 3)

                                                   기존벡터 -> 1             2             3

                                                   each 번 반복 -> 11 22 33

                                                   반복행위를 times 만큼 반복 -> 11 22 33 11 22 33 11 22 33

            

                                      기존 벡터의 요소를 각각 each번 반복하고, 이 반복행위를 times번 반복하는 벡터를 생성한다

 

 

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

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

                                      원하는 특정 요소를 가져올 때는 해당 요소에 부여된 인덱스 번호를 사용한다

                                      벡터명[인덱스번호]

                                      ex) vec <- 1:3

                                      생성된 벡터 : 1 2 3

                                      2번째 칸에 저장된 값을 찾을 때 : vec[2]

 

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

                                      벡터명[1,3] (X)

                                      벡터명[c(1,3)] (O)

 

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

                                     * R에서는 여러개의 값을 한번에 전달하기 위해 자료구조를 사용한다

 

            3. 벡터에서 특정요소를 제외하고 가져오기

                                      벡터명[-제외할 인덱스 번호]

                                      해당 인덱스 번호를 제외한 나머지 요소들을 가져온다

 

                                      ex) vec[-1] : 1번째 요소를 제외하고 2,3,4,5 번째 요소를 가져온다

                                      vec[-c(1,3)] : 1번째, 3번째 요소를 제외하고 2,4,5번째 요소를 가져온다

 

            4. 조건을 통해 특정 요소 가져오기

                                      벡터명[논리벡터] : 논리벡터를 벡터의 각 요소에 부여하여 참인 요소만 가져온다

                                      벡터명[벡터명[조건]] : 조건을 만족하는 요소를 가져온다

 

 

《벡터의 정보》

            1. str() : 벡터의 자료형, 인덱스번호, 요소를 보여준다

            2. length() : 벡터의 길이(요소의 개수)를 보여준다

            3. names() : 벡터의 열 이름을 보여준다

 

 

《벡터의 열 이름》

            names(벡터명) : 벡터 열(column)의 이름을 문자 벡터로 가져온다

            아무 이름도 지정되지 않았다면 NULL이 나온다

 

            names(벡터명) <- c("이름1", "이름2"...) : 벡터의 열 이름을 지정한다

            벡터의 열 이름은 중복되면 안되고, 가능하면 한글을 사용하지 않는다

            다른 타입으로 저장해도 문자타입으로 변환된다

 

            벡터의 열 이름을 부여하면 인덱스 번호 대신 벡터명["열 이름"]으로 요소를 가져올 수 있다

                         

 

《벡터의 사용》

            1. 벡터에 요소 추가하기

                         벡터명[새로운 인덱스번호] <- 새로운 값

                         벡터명[새로운 열 이름] <- 새로운 값

 

            2. 벡터에 요소 수정하기

                         벡터명[수정할 값의 인덱스번호] <- 수정할 값

                         벡터명[수정할 값의 열 이름] <- 수정할 값

 

            3. 벡터에 요소 삭제하기

                         벡터명 <- 벡터명[-삭제할 요소의 인덱스번호

                         기존 벡터에서 삭제할 요소를 제외하고 가져와서 다시 벡터에 저장한다

 

 

 

 

 

 

728x90