안녕하세요^^
오늘은 지난 시간에 이어 ‘CSV’형식의 파일을 SAS로 불러오는 방법에 대해 소개해 드리겠습니다
우선 ‘CSV’형식이란 ‘Comma Separated Values’로 변수들이 comma(,)로 구분된 데이터를 말합니다.
위의 파일을 보면 아실 수 있듯이, CSV형식은 일반적인 형식과는 다르게 변수 값이 comma(,)로 구분된 것을 보실 수 있습니다.
우선 CSV형식의 파일을 불러오는 코드는 앞서 배웠던 ‘파일 불러오기’ 강의를 참고하시면 큰 어려움이 없습니다. 다만 추가적인 옵션을 코딩해야 하는데, 그것이 바로 dlm입니다.
dlm이란 원시데이터에서 변수 별로 구분을 하게 하는 구분자를 지정하는 옵션입니다.
순서대로 위의 코딩을 살펴보겠습니다.
DATA문으로 Australia라는 데이터 셋을 만드는데, infile문으로 D드라이브에 있는 australia라는 csv형식의 파일을 불러옵니다. 이 파일은 csv형식(comma separated values)이므로 dlm(또는 delimiter)을 ‘,’로 지정해야 합니다. input문으로 변수이름과 형태(char 또는 numeric)을 지정해줍니다.
위와 같은 코딩을 거치면 아래와 같이 데이터를 불러올 수 있습니다.
※ 참고로, csv와 함께 많이 사용되는 구분자(delimiter)는 탭(tab)인데, 탭으로 구분된 파일을 불러올 때는 dlm 대신 expandtabs라는 옵션을 사용합니다.
그런데, 만약 원시 데이터가 아래와 같이 missing이 있어서
,,처럼 두 개의 구분자가 연속으로 나타난다면 어떻게 데이터를 읽어야 할까요?
이러한 경우 dsd옵션을 사용합니다.
Dsd 옵션이란 구분자들이 연속적으로 있을 경우 구분자 사이를 결측치로 처리하는 옵션입니다.
즉, 위와 같이 dlm 옵션과 더불어 dsd 옵션을 함께 지정해서 코딩하면(dsd 옵션을 사용하면 dlm이 ,일때는 dlm을 생략하셔도 됩니다),
연속적인 구분자 사이의 값을 결측치로 처리하여 데이터를 읽을 수 있습니다.
이상, CSV 파일을 읽을 때의 옵션 두 가지(DLM, DSD)에 대해 알아보았습니다.
다음시간에는 LENGTH와 MISSOVER에 대해 알아보도록 하겠습니다^^
Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.