최근 R package가 통계 분석에 많이 사용된다고는 하지만, 기업에서는 SAS나 SPSS를 더 많이 사용하는 것으로 알고 있습니다. 저도 대학이나 연구기관의 의뢰에는 R를 사용하지만, 기업의 데이터 분석에는 SAS를 이용합니다.
간혹 클라이언트로부터 받은 데이터가 SAS의 영구 파일형식인 sas7bdat일 때가 있습니다. 분석할 때 아무래도 손에 익은 R을 선호하게 되는데 SAS를 사용할 수 있는 환경에 있으면 데이터를 일반 ASCII 파일로 변환하여 사용하면 되지만 SAS를 사용할 수 없는 환경에 있을 때도 있습니다.
물론 R에서 SAS 형식의 데이터를 불러오는 함수 read.ssd()가 있긴 하지만, 이도 시스템에 SAS가 설치되어 있어야만 이용할 수 있어서 이래저래 불편했었습니다. 그런데 최근 sas7bdat라는 패키지가 공개되어 간단하게 이 형식의 데이터를 R에 불러올 수 있게 되었습니다.
먼저 sas7bdat 패키지를 R에 인스톨합니다.
1 | > install.packages("sas7bdat") |
예를 들어 SAS에서 제공하는 예제 데이터 “cars.sas7bdat”를 R로 불러 오기 위해서는
1 2 | > library(sas7bdat) > cars < - read.sas7bdat("ftp://ftp.sas.com/edu/hec/cars.sas7bdat") |
와 같이 함수 read.sas7bdat()를 이용하면 R의 데이터프레임 형식으로 변환시킬 수 있습니다.
그 후엔 원하는 분석을 진행하면 되겠지요.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | > summary(cars) Model Country Type Weight TurningRadius Acura Integra : 1 Japan:30 Compact:22 Min. :1695 Min. :32.00 Acura Legend V6: 1 Other:37 Large :17 1st Qu.:2624 1st Qu.:36.00 Audi 100 : 1 USA :49 Medium :30 Median :2920 Median :39.00 Audi 80 : 1 Small :22 Mean :2958 Mean :38.59 Audi 90 : 1 Sporty :25 3rd Qu.:3331 3rd Qu.:41.00 BMW 325i : 1 Max. :4285 Max. :47.00 (Other) :110 Displacement Horsepower GasTank Min. : 61.0 Min. : 55.0 Min. : 9.20 1st Qu.:115.5 1st Qu.:100.0 1st Qu.:14.15 Median :143.0 Median :129.0 Median :15.90 Mean :158.3 Mean :130.2 Mean :16.24 3rd Qu.:181.0 3rd Qu.:150.0 3rd Qu.:18.00 Max. :350.0 Max. :278.0 Max. :27.00 > with(cars, summary(Weight)) Min. 1st Qu. Median Mean 3rd Qu. Max. 1695 2624 2920 2958 3331 4285 |
아직 대용량 데이터를 대상으로 써보지는 않았지만, SAS가 없어도 직접 sas7bdat 형식의 파일을 R에서 이용할 수 있다는 점에서 유용하게 사용할 수 있을듣 합니다.




