2.8 객체의 유형 판별 및 변환

지금까지 R 객체를 알아보면서 is.na(), is.null() 등 스칼라의 데이터 타입을 확인하는 함수부터 str(), attributes(), class()와 같이 객체의 속성 및 구조에 대해 확인하는 함수들에 대해 간략히 소개함. 앞서 언급한 것 처럼 R은 스크립트 언어이기 때문에 모든 명령 실행이 함수 기반으로 이루어짐. 특정 객제에만 적용할 수 있는 함수들이 있는 반면, 함수를 통해 새로운 속성을 갖는 객제가 생성되기도 함. 그렇기 때문에 함수 적용 또는 적용 후 반환 후 생성된 객체의 타입을 확인하거나 객체의 유형 변환 작업은 R을 통해 데이터를 분석하는 과정에서 빈번하게 발생함.

R에서는 캑체 유형 판별을 위해 is.type_name(), 객체 타입 변환을 위해 as.type_name() 형태의 함수를 제공함. 지금까지 배운 R 객체에 대한 is.as. 계열 함수는 아래와 같음.

Table 2.6: R 객체 타입 판별 및 변환 함수
is 계열 함수 as 계열 함수 설명
is.factor() as.factor() 주어진 객체가 factor 형인지 판단/변환
is.ordered() as.ordered 주어진 객체가 순서형 factor인지 판단/변환
is.numeric() as.numeric() 주어진 객체가 수치형인지 판단/변환
is.character() as.character() 주어진 객체가 문자형인지 판단/변환
is.matrix() as.matrix() 주어진 객체가 행렬인지 판단/변환
is.array() as.array() 주어진 객체가 배열인지 판단/변환
is.list() as.list() 주어진 객체가 리스트인지 판단/변환
is.data.frame() as.data.frame() 주어진 객체가 데이터 프레임인지 판단/변환
  • is/as계열 함수 사용 예시
[1] TRUE
[1] TRUE
[1] FALSE
[1] TRUE
[1] 2 1
[1] 2 1
Levels: 1 2
  • 2차원 데이터 객체 유형 판별 및 변환
[1] TRUE
[1] FALSE
[1] FALSE
[1] TRUE
     group meas      
[1,] "A"   "2.028870"
[2,] "A"   "1.996936"
[3,] "B"   "2.835169"
[4,] "B"   "1.105901"
[5,] "C"   "1.095014"
[6,] "C"   "2.927883"
[[1]]
[1] 0.3288415

[[2]]
[1] 0.2479955

[[3]]
[1] -0.7521625

[[4]]
[1] -0.02180829

[[5]]
[1] 1.354002

[[6]]
[1] -0.1578651

[[7]]
[1] -0.3734678

[[8]]
[1] -2.285178

[[9]]
[1] -1.143963
$group
[1] "A" "A" "B" "B" "C" "C"

$meas
[1] 2.028870 1.996936 2.835169 1.105901 1.095014 2.927883