1. 대용량 데이터 Reading
1) 대용량 처리 팁
- 앞서 설명한 것과 같이 R의 경우 Physical Memory로 직접 할당을 하기 때문에 시스템 사양에 맞춰 데이터 처리를 해줘야 원활하게 프로그래밍을 할 수 있다.
- Dataset의 필요한 메모리 용량을 파악하고 RAM 보다 초과할 경우 멈추고 조절 하도록 한다.
- 파일에 주석이 없을 경우, comment.char = ""로 설정한다.
2) colClass 파라미터 활용
- 기본값 대신 특정 값을 설정하여 class type을 정해 줄 경우에 보다 빠르게 데이터를 읽을 수 있다.
- 각 column의 class를 알고 있을 경우에 가능하다.
3) nrows 미리 설정
- nrow를 설정해주면 메모리 사용에 효과적으로 이용할 수 있다. 단, 수행 속도가 빨라 지지는 않을 것이다.
4) 처리할 시스템의 상태 및 사용할 메모리 예측
- 처리할 데이터의 메모리를 예측해 보는 것이 컴퓨터의 메모리 용량을 초과하지 않는지 확인하면 처리를 보다 효율적으로 할 수 있을 것이다.
- 시스템의 메모리 용량, 성능에 따라 R 수행 속도가 차이가 날 수 있으므로 그에 맞게 처리할 데이터의 범위를 정하는 것이 필요하다.
2. 데이터 Writing: dput()/dget()
1) Textual Format으로의 저장
- CSV 파일과는 다르게 R에서 데이터 처리를 하기에 유용한 tabular data 형태의 format을 말한다.
- dumping/dputing: 데이터 작성에 유용하고 복구도 가능하다. CSV file이나 table과는 다르게 dump/dput 은 metadata를 저장하고 있어 다시 각 데이터 타입에 대하여 명시할 필요가 없다.
- 해당 데이터는 subversion이나 git으로 관리도 가능하다.
- 단, 메모리를 효율적으로 쓰는 데이터 형태는 아니다.
2) dput 실행
- origin dataframe을 생성하도 이를 dput으로 데이터를 전달하면 해당 데이터의 metadata가 표시된다.
- dput() 명령을 통해 데이터를 새로운 파일로 writing할 수 있다.
- dget() 을 통해 저장된 파일을 새로운 dataframe에 지정하고 이를 출력해보면, 이전의 데이터와 동일한 데이터가 표시되는 것을 확인할 수 있다.
3) R Object를 Dumping 하기
- dump() 함수로 여러 Object를 저장하고 source를 통해 여러 Object를 한 번에 불러와 사용할 수 있다.
- a, b Object를 생성하고 dump()를 통해 파일에 저장한다.
- rm()을 통해 a, b Object를 삭제하였다.
- source()를 통해 파일에서 Object를 다시 불러오면 이전 데이터가 그대로 보존됨을 확인할 수 있다.
'IT | Computer > R' 카테고리의 다른 글
R 언어 통계 프로그래밍: Subsetting (0) | 2016.03.31 |
---|---|
R 언어 통계 프로그래밍: 외부 입출력 (0) | 2016.01.26 |
R 언어 통계 프로그래밍: Reading/Writing Data (0) | 2015.12.30 |
R 통계 프로그래밍: Data Type (Factors, NA, NaN, Data Frames, Names) (0) | 2015.12.15 |
R 통계 프로그래밍: Data Type (R Objects, Attributes, Vectors, Lists) (0) | 2015.12.13 |