Page 19 -
P. 19

벡터의 원래 크기를 넘어가는 위치를 사용하여 부분 집합을 구하면 어떻게 될까? 다음 코드는 v1
                    의 세 번째 원소에서 존재하지 않는 여섯 번째까지 부분 집합을 구하는 예제다.

                      > v1[3:6]
                      [1] 3 4 NA NA                                                                   2

                    존재하지 않는 위치에 해당하는 원소는 NA, 즉 결측 값으로 표기되는 것을 볼 수 있다. 일반적으로

                    실제 데이터에는 결측 값이 있다. 일관성을 유지하려고 NA가 포함된 모든 산술 연산의 결과 역시                             기본 객체 알아보기
                    도 NA가 된다. 그렇다고 해도 결측 값이 없다고 가정하는 것은 안전하지 않을 수 있으므로 데이
                    터를 다룰 때는 이 부분을 염두에 두어야 한다.

                    벡터의 부분 집합을 구하는 또 다른 방법은 논리형 벡터를 활용하는 것이다. 어떤 요소를 선택할
                    지 결정하는 데 길이가 같은 논리형 벡터를 사용할 수 있다.

                      > v1[c(TRUE, FALSE, TRUE, FALSE)]
                      [1] 1 3

                    부분 집합을 구할 수도 있지만, 다음과 같이 특정 값을 덮어 쓸 수도 있다.


                      > v1[2] <- 0

                    이때 v1은 다음과 같다.


                      > v1
                      [1] 1 0 3 4

                    서로 다른 위치에 각각 다른 값도 넣을 수 있다.


                      > v1[2:4] <- c(0, 1, 3)

                    v1은 다음과 같다.

                      > v1
                      [1] 1 0 1 3


                    논리형 벡터를 활용할 때도 마찬가지로 값을 할당하는 데 사용할 수 있다.

                      > v1[c(TRUE, FALSE, TRUE, FALSE)] <- c(3, 2)

                    예상했듯이 v1은 다음과 같다.



                                                                                                  53





     r교과서_07.indd   53                                                                       2020-04-09   오후 4:21:24
   14   15   16   17   18   19   20   21   22   23   24