목록SAS (12)
Just Fighting

기존 변수로 새로운 변수를 생성할 수 있다. 아래 사진과 같이 input문에 작성하면 된다. 이때 max같은 경우에는 retain문과 함께 작성해주어야 한다. 바로 위에 행의 max값을 갖고있겠다는 의미가 되어 맨 마지막 행의 값이 가장 큰 값이 된다. 결측값이 있을 경우는 아래 사진과 같다. mean() 함수를 사용했을 때는 결측값을 제외하고 평균을 구하지만 더해서 2로 나누어 평균을 구할 때는 결측값 때문에 계산이 되지 않는 것을 볼 수 있다. 누적된 값을 구하고 싶을 때는 아래 사진처럼 작성하면 된다.

proc sort문은 데이터를 정렬할 때 사용한다. data에는 정렬할 데이터를 넣고, out에는 정렬된 데이터를 부를 이름을 넣는다. 그리고 기준으로 정렬할 컬럼을 by문에 써주면 된다. 아래 사진은 age와 gender를 기준으로 정렬한 a 데이터를 aout이라는 이름을 붙이겠다 뜻이다. 디폴트는 오름차순! 내림차순으로 정렬하고 싶을 때는 descending을 변수 앞에 작성해주면 된다.

미리 저장된 데이터를 새로운 이름을 사용하고 싶다면 set문을 사용하면 된다. 아래 사진은 a에 저장한 데이터를 그대로 가져와서 a_2의 데이터로 사용하겠다는 의미다. sashelp에 있는 bweight라는 데이터를 가져와 weight라고 이름 붙이고, 15개의 행만 출력하라는 의미다. 사진과 같이 title문을 사용하면 제목을 붙일 수 있다. sasuser에 있는 admit 데이터를 Admit1의 데이터로 저장한다. 그리고 데이터의 컬럼 중 name, sex, age의 컬럼만 가져와 출력하겠다는 의미이다. 이때 출력 결과의 제목을 보면 바로 위에 사진에 설정해 놓았던 'Contents of Weight'인 것을 알 수 있다. 이번에는 set으로 데이터를 가져오지만 data문에서 keep을 사용함으로써 ..

input문은 아래처럼 쓸 수도 있다. 저 숫자의 의미는 몇번째 열의 데이터를 컬럼의 값으로 사용하겠다는 의미가 된다. 순서를 섞을 수도 있다! 데이터가 띄어쓰기가 되어있지 않아도 숫자를 이용해 제대로된 데이터셋을 형성할 수 있다. 사용하고 싶은 컬럼만 사용하는 것도 가능! 컬럼 값에 띄어쓰기가 있는 경우 숫자를 이용해 띄어쓰기 있는 문자열을 하나의 값으로 저장할 수 있다. 또한 위치를 정해 자릿수도 지정할 수 있다. 아래 사진처럼 age컬럼의 값을 17번째열에서부터 2개의 자리수의 값을 데이터로 갖겠다는 의미가 된다. +(숫자)의 의미는 앞에 컬럼의 끝에서 (숫자)만큼 떨어져 있는 문자의 열을 의미한다. 즉, jobtitle은 lastname이 끝나는 열에서 7만큼 떨어져있는 3개의 문자열을 의미한다...