목록SAS (12)
Just Fighting

엑셀파일을 불러오는 방법은 아래 사진과 같다. libname으로 엑셀파일을 설정하고, proc print문에 있는 코드처럼 작성해주면된다. data = score2.'sheet1$'n; 의 의미는 엑셀파일의 sheet1의 데이터를 출력하겠다는 의미이다. 'hsb_study'라는 시트의 데이터를 가져오겠다는 의미가 된다. proc means문의 결과는 아래 사진과 같이 기초통계랑을 볼 수 있다. 특정변수 별 기초통계량을 보고싶을 땐 class문을 사용한다.

csv파일을 불러오는 것은 txt파일을 불러오는 방식과 비슷하다. 대신 csv파일을 불러올 때는 dim=',' 을 추가해주어야한다. 뒤에 오는 firstobs는 출력할 데이터의 시작을 정하는 것이다. firstobs=2 라면 2번째 행부터 데이터를 가져오겠다는 이야기! 첫 행은 컬럼이기 때문에 두번째 행부터 가져오는 것이다. csv파일을 가져오는 것은 아니지만 데이터가 아래 사진과 같이 나타나 있다면 infile datalines dsd; 를 사용하면 된다! firstobs에 이어서 obs는 행의 개수를 의미한다. 즉, 아래 사진은 3번째 행부터 50개의 행을 출력하겠다는 의미. 파일을 불러오는 경우가 아니어도 firstobs 사용 가능! data문에 firstobs가 있는 경우, 데이터 자체가 변경된다..

파일을 불러오기 위해서는 infile을 사용한다. 텍스트 파일이 있는 경로를 작성해주면 된다. 라이브러리를 생성하기 위해서는 libname이라는 키워드를 사용한다. 'C:\stat480\data'를 'sassas'라는 이름의 라이브러리로 지정한다. 그리고 sassas안에 score라는 이름의 데이터셋을 저장한다. 잘 저장된 것을 볼 수 있다. 아래 사진은 텍스트파일을 yeeun이라는 라이브러리에 넣는 것이다.

기본 골격은 아래 사진과 같다. data문에는 데이터의 이름, 컬럼이름, 데이터를 담는다. data 옆에 써있는 dataset1이 데이터 이름이 되며, input 옆에 쓰인 단어들이 컬럼이름이 된다. 이때, 문자열 데이터인 경우에는 '$'을 적어준다. 그리고 datalines;를 써주고 데이터를 써주면 된다. 그 밑에 proc print가 데이터를 프린트하겠다는 의미를 갖는다. data문에 사용한 컬럼이름을 바꾸고 싶다면 아래와 같은 방법을 사용하면 된다. data문이나 proc print문에 label 이전컬럼이름 = '바꿀컬럼이름' 을 작성해주면 된다. 그리고 proc print문에 있는 데이터 이름 옆에 label을 붙여준다. 위의 두 사진의 결과로 아래 사진처럼 데이터가 프린트된다. 옛날에 sas..