이제는 수학 연산을 처리할 수 있다.
> 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는 숫자로 변환할 수 없다. 따라서 마지막 요소를 제외하고 변환하므로 결측 값이 생성된다.