R에서 sqldf는 표준 SQL에서 사용되는 문장이 모두 가능하고, 데이터 이름에 "."같은 특수문자가 들어간 경우 ''로 묶어주면 테이블처럼 간단히 처리할 수 있다.
3. plyr
plyr은 데이터를 분리하고처리한 다음, 다시 결합하는 등 가장 필수적인 데이터 처리기능을 제공한다.
apply 함수와 muti-core 사용 함수를 이용하면 for loop를 사용하지 않고 매우 간단하고 빠르게 처리할 수 있다. plyr은 apply 함수에 기반해 데이터와 출력변수를 동시에 배열로 치환하여 처리하는 패키지이다. 예를 들어 ddply 함수는 데이터 프레임 데이터를 가공해 데이터 프레임으로 돌려준다. 데이터별 plyr함수들은 아래와 같다.
- d = 데이터 프레임 (data.frame)
- a = 배열 (array)
- l = 리스트 (list)
따라서 ddply는 데이터 프레임을 입력 받아서, 그것을 분리(split)하거나 그 외 어떤 처리를 한 후 데이터 프레임으로 출력하게 한다. 일반적으로 데이터 프레임을 많이 다루기 때문에 ddply를 많이 쓴다. 마찬가지로 ldply는 리스트를 입력받아서 어떤 처리를 한 후에 데이터 프레임으로 출력하게 한다. 이러한 관계를 다음표로 요약할 수 있다. 여기에서 열(column)은 입력되는 데이터 형태를 말하며, 행(row)는 출력되는 데이터 형태를 말한다.
입력되는 데이터 형태
데이터 프레임 리스트 배열
(data.frame) (list) (array)
데이터 프레임(data.frame) ddply ldply adply
리스트 (list) dlply llply alply
배열 (array) daply laply aaply
4. 데이터 테이블
데이터 테이블(data.table)은 데이터 프레임과 유사하지만 보다 빠른 그룹화(grouping)와 순서화 (ordering), 짧은 문장 지원 측면에서 데이터 프레임보다 매력적이다. 하지만 무조건 빠른 것이 아니므로 특성에 맞게 사용해야 한다. 특히 64비트 환경에서 RAM이 충분히 많을 때는 효율적이다.
댓글 없음:
댓글 쓰기