반응형

typeof() : 원시 자료형 (R 에서의)

먼저 원시 자료형이라는 건, R에서 취급하는 일반적인 자료형의 모든 형태를 지칭한다.

예를 들어,

  • NULL: 데이터가 없는 경우
  • Logical: 불리언, 참 또는 거짓
  • Int: 정수
  • Double: 부동소수점 실수
  • Complex: 복소수
  • Character: 문자열
  • List: 리스트
  • Closure: 함수

이런 것들을 자료형이라고 부른다.

 

그래서 가장 기본적인 데이터인 iris의 type을 물어보면 다음과 같은 값이 return된다.

typeof(iris)
"list"

 

그러면 이건 Class()와 뭐가 다른 걸까?

 

 

class() : R 객체지향 관점에서의 자료형

 

R 에서 클래스는 변수가 가지는 속성의 하나이다. 따라서 자료형과 클래스는 같은 값을 가지지 않을 수도 있다.

특히 다음과 같은 점에 주의한다.

  • 부동소수점 실수의 자료형은 double 이지만 클래스는 numeric 이다.
  • 함수의 자료형은 closure 이지만 클래스는 function 이다.
  • matrix, data.frame 등의 클래스 객체나 사용자 정의 클래스의 자료형은 list 이다.

출처: https://datascienceschool.net/view-notebook/0a66597ee82f464b9e2015e41cff8205/

 

Data Science School

Data Science School is an open space!

datascienceschool.net

 

즉 흔히 헷갈릴 수 있는 게 list()나 data.frame이 같은 선상에 있는 자료형이라고 생각하는 것이다.

하지만 data.frame이나 matrix는 엄연히 말하면 객체이며 다음의 iris 예시에서 이렇게 확인할 수 있다.

 

class(iris)
"data.frame"

 

정리하자면, Iris는 list의 자료형을 가진 data.frame 객체이다.

반응형

+ Recent posts