더북(TheBook)

이제는 수학 연산을 처리할 수 있다.

> numbers+ 10
[1] 11 12 13

주어진 벡터의 클래스를 알아보는 is.* 형태의 함수(is.numeric, is.logical, is.character)와 마찬가지로 다른 클래스의 벡터로 변환할 때 사용하는 as.* 함수가 있다.

> as.numeric(c("1", "2", "3", "a"))
[1] 1 2 3 NA
Warning message:
NAs introduced by coercion
> as.logical(c(-1, 0, 1, 2))
[1] TRUE FALSE TRUE TRUE
> as.character(c(1, 2, 3))
[1] "1" "2" "3"
> as.character(c(TRUE, FALSE))
[1] "TRUE" "FALSE"

각 타입의 벡터는 어떻게든 다른 모든 타입의 벡터로 변환할 수 있다. 모든 변환은 일련의 규칙을 따른다.

바로 앞 코드의 블록에서 첫 번째 줄은 앞 예제와 마찬가지로 문자형 벡터를 수치형 벡터로 변환하는 것이다. 분명 마지막 요소인 a는 숫자로 변환할 수 없다. 따라서 마지막 요소를 제외하고 변환하므로 결측 값이 생성된다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.