글
아 실론티 한 모금 마시고... 5장으로 고고.
(도서관 음료수 왜 이렇게 비싼거야!!!)
책을 볼까.. 통계학이란 자료를 수집하고, 정리하고, 분석할 뿐만 아니라 그 분석을..토대로 합리적인 의사결정을 할 수 있도록 하는 과학적인....방법이다.
휙~....zzZ..
확실한 문제정의와 확인과 가설과 자료가...필요...
즉!, 문제정의 및 확인 > 가설 > 자료 > 통계기법 적용 > 결과
이런 메커니즘이라는 것이다.
통계는 다른 무엇보다 정확을 요구한다. 결과가 달라지면 해석이 달라지기 때문이다.
그러니까 항상, 다시보는 습관을 가지도록 하장.
일단 부록부터 해보라고 써있다. 통계적인 지식이 없어도 분석하라고 한다. -ㅠㅡ ...시키면 해야지 별 수 있나. 일단 설문지의 내용을 보자.
Ⅰ. 다음은 응답자 본인의 개인적 사항에 대하여 묻습니다. 해당란에 ○표하여 주십시오.
1. 귀하의 성멸은?
① 남자 ( ) ② 여자 ( )
2. 결혼 여부는?
① 미혼 ( ) ② 기혼 ( )
3. 귀하의 연령은? ( )세
4. 귀하의 학력은?
① 국졸이하 ( ) ② 중졸 또는 중퇴 ( )
③ 고졸 또는 고퇴 ( ) ④ 전문대졸 ( )
⑤ 대졸 또는 대퇴 ( )
5. 귀하의 근무경력은?
① 1년 이하 ② 1년 이상 ~ 3년 미만
③ 3년 이상 ~ 5년 미만 ④ 5년 이상
Ⅱ. 다음은 귀하께서 직장생활을 하면서 평소 느끼고 계시는 사항에 관한 것입니다. 다음의 항목중에서 귀하의 생각과 일치하는 번호에 ( )표하여 주십시오.
1. 귀하는 지금의 회사에서 근무하는 데 보람과 긍지를 느끼고 있습니까?
① 매우 그렇지 않다. ② 그렇지 않다.
③ 그저 그렇다. ④ 그렇다.
⑤ 매우 그렇다.
2. 귀하의 임금보수체계에 만족하십니까?
① 매우 그렇지 않다. ② 그렇지 않다.
③ 그저 그렇다. ④ 그렇다.
⑤ 매우 그렇다.
3. 귀하의 월 평균 급여약은 얼마나 됩니까? _______만원
Ⅲ. 다음은 여가활동에 관한 사항입니다.
1. 귀하는 여가를 어떻게 보내고 있습니까?
① 독서 ② 스포츠 ③ 영화감상 ④ 낚시
⑤ 등산 ⑥ 음악감상 ⑦ 여행 ⑧ 기타 (______)
이 설문지에 대한 자료의 값은 다음과 같다.
M 1 18 2 1 4 5 82 1
F 1 20 3 1 4 5 43 2
F 1 22 3 2 4 4 45 3
F 1 24 3 3 1 2 49 5
F 1 26 5 4 3 3 51 5
F 2 24 3 1 5 5 44 2
F 2 11 3 2 3 5 46 5
F 2 28 4 3 4 4 52 6
F 2 30 5 4 2 2 62 1
M 2 32 4 4 3 3 60 3
M 0 24 5 1 5 5 47 1
M 1 26 3 1 5 5 51 3
M 1 28 3 2 3 4 55 8
M 1 30 5 2 2 2 57 3
M 1 32 5 3 3 3 64 2
M 2 24 3 2 4 5 43 9
M 2 30 3 3 5 5 48 5
M 2 36 3 4 4 4 56 4
M 2 42 5 4 1 2 78 2
M 2 48 4 4 3 3 79 4
F 1 19 2 1 5 5 42 3
F 1 21 3 2 3 4 45 7
F 1 23 3 3 2 3 47 5
F 1 25 4 3 2 2 50 1
F 1 27 5 4 4 5 52 5
F 2 25 3 2 4 5 45 1
F 2 27 3 3 5 4 47 6
F 2 29 4 4 2 3 54 6
F 2 31 5 4 1 2 62 1
F 2 33 4 4 4 5 61 1
M 1 25 3 1 4 5 49 2
M 1 27 3 2 4 4 53 4
M 3 29 3 2 3 3 57 1
M 1 31 5 2 1 2 57 9
M 1 33 4 3 5 5 63 3
M 2 27 3 2 3 5 47 4
M 2 33 3 3 4 4 52 1
M 2 39 5 4 3 3 71 4
M 2 45 5 4 1 2 82 3
M 2 51 3 4 2 3 93 5
치느라고 죽는 줄 알았네.. 인터넷이 안되섬;; 다운을...쿨럭;
설문지 코딩의 내용이다.
코딩위치 변수명 내용
1 SEX M 남자 F 여자 9 무응답
3 MAR 1 미혼 2 기혼 9 무응답
5-6 AGE 2자리 수(만 나이) 99 무응답
8 EDU 1 국졸이하 2 중졸 또는 중퇴 3 고졸 또는 고퇴 4 전문대졸 5 대졸 또는 대퇴 9 무응답
10 HIS 근무 경력 9 무응답
12 WORK 근무 만족도 9 무응답
14 PAY 보수 만족도 9 무응답
16-18 MONEY 월평균 급여액(단위: 만 원) 99 무응답
20 HOB 1 독서 2 스포츠 3 영화감상 4 낚시 5 등산 6 음악감상 7 여행 8 기타 9 무응답
☞ 조사된 설문지를 전산처리하기 위해서는 우선 코딩과정을 거쳐야 한다.
이때 이에 대한 지침서를 마련하면 전산처리, 업무협의, 그리고 전산처리 후 파일 정리에 편리하다.
이산적인(DISCRETE: 따로따로 분리된) 변수의 경우에는 빈도수를 구한다(PROC FREQ; 를 이용)
연속적인(CONTINUOUS) 변수는 최대, 최소값을 구하여 (PROC MEANS; 를 이용) 범위에 벗어나는지를 체크한다.
/* 데이터 오류 체크 실습 프로그램 */
♥♥♥♥♥
data a1; infile 'e:\sastest\sample.dat';
input sex $ mar age edu his work pay money hob @@;
proc freq; tables sex mar edu his work pay hob;
proc means; var age money;
run;
♥♥♥♥♥
그런데 결과값이 안나온다. dat파일이 저장이 잘못되서 그런가..
아무튼 연산을 고쳐서 다 입력되도록 바꿔봤다..
♥♥♥♥♥
data a1;
input sex $ mar age edu his work pay money hob @@;
cards;
M 1 18 2 1 4 5 82 1
F 1 20 3 1 4 5 43 2
F 1 22 3 2 4 4 45 3
F 1 24 3 3 1 2 49 5
F 1 26 5 4 3 3 51 5
F 2 24 3 1 5 5 44 2
F 2 11 3 2 3 5 46 5
F 2 28 4 3 4 4 52 6
F 2 30 5 4 2 2 62 1
M 2 32 4 4 3 3 60 3
M 0 24 5 1 5 5 47 1
M 1 26 3 1 5 5 51 3
M 1 28 3 2 3 4 55 8
M 1 30 5 2 2 2 57 3
M 1 32 5 3 3 3 64 2
M 2 24 3 2 4 5 43 9
M 2 30 3 3 5 5 48 5
M 2 36 3 4 4 4 56 4
M 2 42 5 4 1 2 78 2
M 2 48 4 4 3 3 79 4
F 1 19 2 1 5 5 42 3
F 1 21 3 2 3 4 45 7
F 1 23 3 3 2 3 47 5
F 1 25 4 3 2 2 50 1
F 1 27 5 4 4 5 52 5
F 2 25 3 2 4 5 45 1
F 2 27 3 3 5 4 47 6
F 2 29 4 4 2 3 54 6
F 2 31 5 4 1 2 62 1
F 2 33 4 4 4 5 61 1
M 1 25 3 1 4 5 49 2
M 1 27 3 2 4 4 53 4
M 3 29 3 2 3 3 57 1
M 1 31 5 2 1 2 57 9
M 1 33 4 3 5 5 63 3
M 2 27 3 2 3 5 47 4
M 2 33 3 3 4 4 52 1
M 2 39 5 4 3 3 71 4
M 2 45 5 4 1 2 82 3
M 2 51 3 4 2 3 93 5
;
proc freq; tables sex mar edu his work pay hob;
proc means; var age money;
run;
♥♥♥♥♥
SAS 시스템 2007년 02월 16일 금요일 오후 04시28분31초 1
FREQ 프로시저
누적 누적
sex 빈도 백분율 빈도 백분율
-----------------------------------------------
F 18 45.00 18 45.00
M 22 55.00 40 100.00
누적 누적
mar 빈도 백분율 빈도 백분율
-----------------------------------------------
0 1 2.50 1 2.50
1 18 45.00 19 47.50
2 20 50.00 39 97.50
3 1 2.50 40 100.00
누적 누적
edu 빈도 백분율 빈도 백분율
-----------------------------------------------
2 2 5.00 2 5.00
3 20 50.00 22 55.00
4 7 17.50 29 72.50
5 11 27.50 40 100.00
누적 누적
his 빈도 백분율 빈도 백분율
-----------------------------------------------
1 7 17.50 7 17.50
2 11 27.50 18 45.00
3 9 22.50 27 67.50
4 13 32.50 40 100.00
누적 누적
work 빈도 백분율 빈도 백분율
------------------------------------------------
1 5 12.50 5 12.50
2 6 15.00 11 27.50
3 10 25.00 21 52.50
4 12 30.00 33 82.50
5 7 17.50 40 100.00
누적 누적
pay 빈도 백분율 빈도 백분율
-----------------------------------------------
2 8 20.00 8 20.00
3 9 22.50 17 42.50
4 8 20.00 25 62.50
5 15 37.50 40 100.00
SAS 시스템 2007년 02월 16일 금요일 오후 04시28분31초 2
FREQ 프로시저
누적 누적
hob 빈도 백분율 빈도 백분율
-----------------------------------------------
1 9 22.50 9 22.50
2 5 12.50 14 35.00
3 7 17.50 21 52.50
4 5 12.50 26 65.00
5 7 17.50 33 82.50
6 3 7.50 36 90.00
7 1 2.50 37 92.50
8 1 2.50 38 95.00
9 2 5.00 40 100.00
SAS 시스템 2007년 02월 16일 금요일 오후 04시28분31초 3
MEANS 프로시저
변수 N 평균값 표준편차 최소값 최대값
---------------------------------------------------------------------------
age 40 28.8750000 7.9330128 11.0000000 51.0000000
money 40 56.0250000 12.3651444 42.0000000 93.0000000
---------------------------------------------------------------------------
♥♥♥♥♥
각각의 값에 대한 처리상황을 보여준다. 이게 무슨 의미가 있습니까? 하고 묻는 사람이 있다면, 설문지와 결과를 비교해보기 바란다.
일단 다 봤다는 전제하에 보자면,
mar 부분을 보면 0 1 2 3. 4가지로 나눠서 설명된다. mar는 marrage의 약어로써 결혼 여부를 묻는 항목이다.
1은 미혼, 2는 기혼이다. 그럼 0과 3은 뭐지? 그 의문이 오류를 찾았다는 신호다. 일일이 확인하려면 힘드니까 말이다.
또 다른 것을 보자.
hob 부분을 보면 1~9까지 있다. 설문지에서 취미를 묻는 항목인데, 8이 기타이다. 그럼 9는? 정답. 무응답이다.
자료상에서 무응답을 9로 하기로 하고, 입력을 9로 했기에 이런 결과값이 나올 수 있었다.
마지막으로 age를 보자.
총 40명, 평균 28세, 편차는 7.93, 근데 최소값이 11? 최소값이 11이라는 것은, 가장 어린 나이가 11세라는 것이다.
11세에 직장을 다니다니 대단한 아이분(?)이시다.
상식적으로 말이 안되는 내용을 찾아낼 수 있다.
이제 이런 결과들을 어떻게 수정하는가? 책에서는 3가지 방법을 제시한다.
1. 잘못 답변한 관측치 자체를 없애는 방법: 비추. 자료의 수가 많다면 지장이 없지만, 통계에서 자료를 없애는 것은 큰 손실이다.
2. missing 처리 하는 방법: 답이 불분명하거나 또는 조사된 표본수가 많아서 무시해도 별 영향이 없는 경우 missing 처리 한다.
3. 원 설문지를 찾아서 수정하는 방법: 자료가 작으면 상관없지만 많으면 난감해진다. SAS는 코드로 위치를 찾을 수 있게 해준다.
<1번 처리 찾는 방법>
♥♥♥♥♥
data a1;
input sex $ mar age edu his work pay money hob @@;
cards;
M 1 18 2 1 4 5 82 1
F 1 20 3 1 4 5 43 2
F 1 22 3 2 4 4 45 3
F 1 24 3 3 1 2 49 5
F 1 26 5 4 3 3 51 5
F 2 24 3 1 5 5 44 2
F 2 11 3 2 3 5 46 5
F 2 28 4 3 4 4 52 6
F 2 30 5 4 2 2 62 1
M 2 32 4 4 3 3 60 3
M 0 24 5 1 5 5 47 1
M 1 26 3 1 5 5 51 3
M 1 28 3 2 3 4 55 8
M 1 30 5 2 2 2 57 3
M 1 32 5 3 3 3 64 2
M 2 24 3 2 4 5 43 9
M 2 30 3 3 5 5 48 5
M 2 36 3 4 4 4 56 4
M 2 42 5 4 1 2 78 2
M 2 48 4 4 3 3 79 4
F 1 19 2 1 5 5 42 3
F 1 21 3 2 3 4 45 7
F 1 23 3 3 2 3 47 5
F 1 25 4 3 2 2 50 1
F 1 27 5 4 4 5 52 5
F 2 25 3 2 4 5 45 1
F 2 27 3 3 5 4 47 6
F 2 29 4 4 2 3 54 6
F 2 31 5 4 1 2 62 1
F 2 33 4 4 4 5 61 1
M 1 25 3 1 4 5 49 2
M 1 27 3 2 4 4 53 4
M 3 29 3 2 3 3 57 1
M 1 31 5 2 1 2 57 9
M 1 33 4 3 5 5 63 3
M 2 27 3 2 3 5 47 4
M 2 33 3 3 4 4 52 1
M 2 39 5 4 3 3 71 4
M 2 45 5 4 1 2 82 3
M 2 51 3 4 2 3 93 5
;
seq=_N_;
if mar=0 or mar=3 then delete;
if hop=b or age<13 then delete;
proc print; var mar age;
run;
♥♥♥♥♥
delete 명령어가 삭제시키는 것 같고, seq는 몇번째 줄의 데이터인지를 알려준다.
<2번 missing 처리하는 방법>
♥♥♥♥♥
data a1;
input sex $ mar age edu his work pay money hob @@;
cards;
M 1 18 2 1 4 5 82 1
F 1 20 3 1 4 5 43 2
F 1 22 3 2 4 4 45 3
F 1 24 3 3 1 2 49 5
F 1 26 5 4 3 3 51 5
F 2 24 3 1 5 5 44 2
F 2 11 3 2 3 5 46 5
F 2 28 4 3 4 4 52 6
F 2 30 5 4 2 2 62 1
M 2 32 4 4 3 3 60 3
M 0 24 5 1 5 5 47 1
M 1 26 3 1 5 5 51 3
M 1 28 3 2 3 4 55 8
M 1 30 5 2 2 2 57 3
M 1 32 5 3 3 3 64 2
M 2 24 3 2 4 5 43 9
M 2 30 3 3 5 5 48 5
M 2 36 3 4 4 4 56 4
M 2 42 5 4 1 2 78 2
M 2 48 4 4 3 3 79 4
F 1 19 2 1 5 5 42 3
F 1 21 3 2 3 4 45 7
F 1 23 3 3 2 3 47 5
F 1 25 4 3 2 2 50 1
F 1 27 5 4 4 5 52 5
F 2 25 3 2 4 5 45 1
F 2 27 3 3 5 4 47 6
F 2 29 4 4 2 3 54 6
F 2 31 5 4 1 2 62 1
F 2 33 4 4 4 5 61 1
M 1 25 3 1 4 5 49 2
M 1 27 3 2 4 4 53 4
M 3 29 3 2 3 3 57 1
M 1 31 5 2 1 2 57 9
M 1 33 4 3 5 5 63 3
M 2 27 3 2 3 5 47 4
M 2 33 3 3 4 4 52 1
M 2 39 5 4 3 3 71 4
M 2 45 5 4 1 2 82 3
M 2 51 3 4 2 3 93 5
;
if mar=0 or mar=3 then mar=.;
if hob=9 then hob=.;
if age=11 then age=.;
run;
♥♥♥♥♥
만약 이런 값이 있으면 .(무시) 처리 해라.
<3. 원 설문지를 찾아서 수정하는 방법>
♥♥♥♥♥
data a1;
input sex $ mar age edu his work pay money hob @@;
cards;
M 1 18 2 1 4 5 82 1
F 1 20 3 1 4 5 43 2
F 1 22 3 2 4 4 45 3
F 1 24 3 3 1 2 49 5
F 1 26 5 4 3 3 51 5
F 2 24 3 1 5 5 44 2
F 2 11 3 2 3 5 46 5
F 2 28 4 3 4 4 52 6
F 2 30 5 4 2 2 62 1
M 2 32 4 4 3 3 60 3
M 0 24 5 1 5 5 47 1
M 1 26 3 1 5 5 51 3
M 1 28 3 2 3 4 55 8
M 1 30 5 2 2 2 57 3
M 1 32 5 3 3 3 64 2
M 2 24 3 2 4 5 43 9
M 2 30 3 3 5 5 48 5
M 2 36 3 4 4 4 56 4
M 2 42 5 4 1 2 78 2
M 2 48 4 4 3 3 79 4
F 1 19 2 1 5 5 42 3
F 1 21 3 2 3 4 45 7
F 1 23 3 3 2 3 47 5
F 1 25 4 3 2 2 50 1
F 1 27 5 4 4 5 52 5
F 2 25 3 2 4 5 45 1
F 2 27 3 3 5 4 47 6
F 2 29 4 4 2 3 54 6
F 2 31 5 4 1 2 62 1
F 2 33 4 4 4 5 61 1
M 1 25 3 1 4 5 49 2
M 1 27 3 2 4 4 53 4
M 3 29 3 2 3 3 57 1
M 1 31 5 2 1 2 57 9
M 1 33 4 3 5 5 63 3
M 2 27 3 2 3 5 47 4
M 2 33 3 3 4 4 52 1
M 2 39 5 4 3 3 71 4
M 2 45 5 4 1 2 82 3
M 2 51 3 4 2 3 93 5
;
data b1; set a1;
if mar=0 or mar=3 or hob=9 or age=11;
proc print; var seq mar hob age;
run;
♥♥♥♥♥
or 붙은 것 봐라...ㄷㄷㄷㄷ
각각에 해당되는 값이 있으면 seq를 앞에 붙여줘서 찾을 수 있게 해달라는 것이다.
왜 결과값을 쓰지 않을까 궁금하게 생각하는 사람이 있을 것이다.
이유인 즉, 연산 결과가 안나온다. 책 내용으로는 뭔가 요로코롬한 결과가 나와야 되는데,
저로코롬한 결과도 안나온다.
아마도 파일에서 읽어야와 하는데, 탭으로 띈 연산을 읽지 못하는 것 같다.
그럼 한 번 탭을 스페이스로 다 바꿔볼까?
그래 밑져야 본전 해보자!!
음 된다.
♥♥♥♥♥
data a1; infile 'e:\sastest\sample.dat';
input sex $ mar age edu his work pay money hob @@;
proc freq; tables sex mar edu his work pay hob;
proc means; var age money;
run;
♥♥♥♥♥
sample.dat는 메모장으로 이렇게 쳐서 넣고 저장을 sample.dat로 하면 된다.
메모장에 들어가는 내용은 다음과 같다.
M 1 18 2 1 4 5 82 1
F 1 20 3 1 4 5 43 2
F 1 22 3 2 4 4 45 3
F 1 24 3 3 1 2 49 5
F 1 26 5 4 3 3 51 5
F 2 24 3 1 5 5 44 2
F 2 11 3 2 3 5 46 5
F 2 28 4 3 4 4 52 6
F 2 30 5 4 2 2 62 1
M 2 32 4 4 3 3 60 3
M 0 24 5 1 5 5 47 1
M 1 26 3 1 5 5 51 3
M 1 28 3 2 3 4 55 8
M 1 30 5 2 2 2 57 3
M 1 32 5 3 3 3 64 2
M 2 24 3 2 4 5 43 9
M 2 30 3 3 5 5 48 5
M 2 36 3 4 4 4 56 4
M 2 42 5 4 1 2 78 2
M 2 48 4 4 3 3 79 4
F 1 19 2 1 5 5 42 3
F 1 21 3 2 3 4 45 7
F 1 23 3 3 2 3 47 5
F 1 25 4 3 2 2 50 1
F 1 27 5 4 4 5 52 5
F 2 25 3 2 4 5 45 1
F 2 27 3 3 5 4 47 6
F 2 29 4 4 2 3 54 6
F 2 31 5 4 1 2 62 1
F 2 33 4 4 4 5 61 1
M 1 25 3 1 4 5 49 2
M 1 27 3 2 4 4 53 4
M 3 29 3 2 3 3 57 1
M 1 31 5 2 1 2 57 9
M 1 33 4 3 5 5 63 3
M 2 27 3 2 3 5 47 4
M 2 33 3 3 4 4 52 1
M 2 39 5 4 3 3 71 4
M 2 45 5 4 1 2 82 3
M 2 51 3 4 2 3 93 5
탭을 인식 못하다니...ㄷㄷㄷ
아무튼, 이게 되었으니 아까 안되던것도 한 번 해볼 만 하겠는데?
자 해보잣!
♥♥♥♥♥
data a1; infile 'e:\sastest\sample.dat';
input sex $ mar age edu his work pay money hob @@;
seq=_N_;
if mar=0 or mar=3 then delete;
if hob=9 or age<13 then delete;
proc print; var mar age;
run;
♥♥♥♥♥
SAS 시스템 2007년 02월 16일 금요일 오후 06시47분27초 4
OBS mar age
1 1 18
2 1 20
3 1 22
4 1 24
5 1 26
6 2 24
7 2 28
8 2 30
9 2 32
10 1 26
11 1 28
12 1 30
13 1 32
14 2 30
15 2 36
16 2 42
17 2 48
18 1 19
19 1 21
20 1 23
21 1 25
22 1 27
23 2 25
24 2 27
25 2 29
26 2 31
27 2 33
28 1 25
29 1 27
30 1 33
31 2 27
32 2 33
33 2 39
34 2 45
35 2 51
♥♥♥♥♥
40개의 자료가 35개로 줄은 것을 볼 수 있다.
눈물난다...ㅡㅜ 하지만 원본에 손상은 가지 않는 것 같다.
두번째는 missing이다.
♥♥♥♥♥
data a1; infile 'e:\sastest\sample.dat';
input sex $ mar age edu his work pay money hob @@;
if mar=0 or mar=3 then mar=.;
if hob=9 then hob=.;
if age<13 then age=.;
run;
♥♥♥♥♥
work.a1을 보면 오류가 있는 값마다, 숫자 대신에 . 이 찍혀있는 것을 볼 수 있다.
세번째는 잘못 입력된 자료가 몇번째인지 알려주는 것이다.
♥♥♥♥♥
data a1; infile 'e:\sastest\sample.dat';
input sex $ mar age edu his work pay money hob @@;
data b1; set a1;
seq=_n_;
if mar=0 or mar=3 or hob=9 or age=11;
proc print; var seq mar hob age;
run;
♥♥♥♥♥
SAS 시스템 2007년 02월 16일 금요일 오후 06시47분27초 5
OBS seq mar hob age
1 7 2 5 11
2 11 0 1 24
3 16 2 9 24
4 33 3 1 29
5 34 1 9 31
♥♥♥♥♥
7번 행은 age가 11이기에,
11번행은 mar가 0이기에,
34번은 hob가 9이기에 잘못되었음을 알 수 있다.
수작업으로 이 부분을 고쳐서 자료의 완성도를 높일 수 있다.
자 이제 엄청난 sas 프로그램이 다가온다.
설문지 자료를 분석한 sas 프로그램이 그것이다.
♥♥♥♥♥
/* 설문지의 예를 분석한 SAS 프로그램 */
/* smaple size = 40 */
options pagesize=66 nodate; /* 한 페이지에는 66줄이 들어가며 날짜는 출력하지 않는다 */
data a1; infile 'e:\sastest\sample.new'; /* data명은 a1이고, e드라이브의 sample.new에서 데이터를 읽어온다 */
input sex $ mar age edu his work pay money hob @@; /* 각 자료의 열이 의미하는 것은 다음과 같으며 한 줄에 주욱 기록하겠다 */
if hob=1 or hob=3 or hob=6 then nhob=1; /* 독서, 영화감상, 음악감상은 nhob=1로 묶는다 */
if hob=2 or hob=4 or hob=5 or hob=7 then nhob=2; /* 스포츠, 낚시, 등산, 여행은 nhob=2로 묶는다. 기타는 nhob=.으로 missing 가짐 */
data b1; set a1; if _n_ <=10; /* a1을 선택하여 관측치의 순서를 나타내기 위한 b1을 보관한다 */
proc print; var sex edu hob work pay money; sum money; /* b1에 들어있는 변수 sex edu hob work pay money와 변수 money의 합계를 프린트*/
data a1; set a1; /* a1을 선택하여 */
proc freq; tables sex mar hob; /* sex, mar, hob에 관한 빈도를 구한다 */
proc means; /* a1에 모든 변수에 대한 기술통계량을 구한다. */
proc format; /* 명칭을 지정하겠다 */
value xxxx low-30='young' 31-50='middle' 51-high='old'; /* xxxx라는 이름에 따라 30세이하는 young 31-50 middle 51이상은 old로 표기 */
proc freq; tables age; format age xxxx; /* age 테이블을 가지고 빈도를 구한다. 명칭은 xxxx에 따른다 */
proc chart; vbar sex; /* 차트를 그린다. 막대그래프를 남녀 분포로 */
proc chart; vbar sex/type=precent; /* 상동 */
proc chart; block sex/sumvar=money; /* 남녀별 월 평균 급여액의 합계에 대한 막대그래프를 그린다 */
proc chart; pie sex/sumvar=money; /* 이에대한 원형 그래프를 그린다 */
proc plot; plot money * age; /* y축 money, x축 age의 2차원 분포 그래프를 그린다 */
proc sort; by sex; /* 데이터셋 a1을 변수 sex로 오름차순 정렬한다 */
proc means mean std min max range sum var uss css cv stdeer tprt;
var money age; by sex;
/* 성별 월평균 급여와 나이에 대해 평균값, 최소값, 최대값, 범위, 합계, 부산, 변이계수, 표준오차를 구함 */
proc summary print; class sex mar; var pay money; /* 남여별, 결혼유무별 각각에 대한 pay, money의 기술통계량을 구해 산출 */
proc tabulate; class mar; var money; table mar, money*sum;
/* class문제 이정된 변수 mar에 따라 옆 방향으로 money에 대한 기술통계량을, 여기서는 합계를 보고서 양식으로 보기좋게 프린트한다 */
proc univariate; var work money; /* 변수 work와 money에 대한 기술통계량을 구할 수 있다. */
proc freq; tables sex*nhob/chisq expected;
proc freq; tables mar*nhob/chisq;
proc freq; tables mar*nhob/nocol chisq; by sex;
/* 남녀별 여가활동 분석 x^2-검정을 행함. 처음엔 각 유목의 기대치를 구하고 행확률은 프린트 하지 않을경우 nocol 옵션을 이용 */
proc ttest; class sex; var money; /* 남녀별 급여차이가 있는가를 검정하기 위해 두 그룹의 평균치 차이 검정을 하는데 t-검정 적용 */
proc corr; var age work pay money; /* 변수 age, work, pay, money의 피어슨 상관계수를 구한다 */
proc reg; model money=age; /* 연령이 급여에 미치는 영향을 회귀분석함 */
run;
♥♥♥♥♥
SAS 시스템 6
OBS sex edu hob work pay money
1 M 2 1 4 5 82
2 F 3 2 4 5 43
3 F 3 3 4 4 45
4 F 3 5 1 2 49
5 F 5 5 3 3 51
6 F 3 2 5 5 44
7 F 3 5 3 5 46
8 F 4 6 4 4 52
9 F 5 1 2 2 62
10 M 4 3 3 3 60
=====
534
SAS 시스템 7
FREQ 프로시저
누적 누적
sex 빈도 백분율 빈도 백분율
-----------------------------------------------
F 18 45.00 18 45.00
M 22 55.00 40 100.00
누적 누적
mar 빈도 백분율 빈도 백분율
-----------------------------------------------
0 1 2.50 1 2.50
1 18 45.00 19 47.50
2 20 50.00 39 97.50
3 1 2.50 40 100.00
누적 누적
hob 빈도 백분율 빈도 백분율
-----------------------------------------------
1 9 22.50 9 22.50
2 5 12.50 14 35.00
3 7 17.50 21 52.50
4 5 12.50 26 65.00
5 7 17.50 33 82.50
6 3 7.50 36 90.00
7 1 2.50 37 92.50
8 1 2.50 38 95.00
9 2 5.00 40 100.00
SAS 시스템 8
MEANS 프로시저
변수 N 평균값 표준편차 최소값 최대값
---------------------------------------------------------------------------
mar 40 1.5250000 0.5986095 0 3.0000000
age 40 28.8750000 7.9330128 11.0000000 51.0000000
edu 40 3.6750000 0.9442810 2.0000000 5.0000000
his 40 2.7000000 1.1140133 1.0000000 4.0000000
work 40 3.2500000 1.2760114 1.0000000 5.0000000
pay 40 3.7500000 1.1712365 2.0000000 5.0000000
money 40 56.0250000 12.3651444 42.0000000 93.0000000
hob 40 3.6500000 2.2480761 1.0000000 9.0000000
nhob 37 1.4864865 0.5067117 1.0000000 2.0000000
---------------------------------------------------------------------------
SAS 시스템 9
FREQ 프로시저
누적 누적
age 빈도 백분율 빈도 백분율
-----------------------------------------------
11 1 2.50 1 2.50
18 1 2.50 2 5.00
19 1 2.50 3 7.50
20 1 2.50 4 10.00
21 1 2.50 5 12.50
22 1 2.50 6 15.00
23 1 2.50 7 17.50
24 4 10.00 11 27.50
25 3 7.50 14 35.00
26 2 5.00 16 40.00
27 4 10.00 20 50.00
28 2 5.00 22 55.00
29 2 5.00 24 60.00
30 3 7.50 27 67.50
31 2 5.00 29 72.50
32 2 5.00 31 77.50
33 3 7.50 34 85.00
36 1 2.50 35 87.50
39 1 2.50 36 90.00
42 1 2.50 37 92.50
45 1 2.50 38 95.00
48 1 2.50 39 97.50
51 1 2.50 40 100.00
SAS 시스템 10
빈도
22 + *****
| *****
21 + *****
| *****
20 + *****
| *****
19 + *****
| *****
18 + ***** *****
| ***** *****
17 + ***** *****
| ***** *****
16 + ***** *****
| ***** *****
15 + ***** *****
| ***** *****
14 + ***** *****
| ***** *****
13 + ***** *****
| ***** *****
12 + ***** *****
| ***** *****
11 + ***** *****
| ***** *****
10 + ***** *****
| ***** *****
9 + ***** *****
| ***** *****
8 + ***** *****
| ***** *****
7 + ***** *****
| ***** *****
6 + ***** *****
| ***** *****
5 + ***** *****
| ***** *****
4 + ***** *****
| ***** *****
3 + ***** *****
| ***** *****
2 + ***** *****
| ***** *****
1 + ***** *****
| ***** *****
--------------------------------
F M
sex
SAS 시스템 11
백분율
55 + *****
| *****
| *****
| *****
| *****
50 + *****
| *****
| *****
| *****
| *****
45 + ***** *****
| ***** *****
| ***** *****
| ***** *****
| ***** *****
40 + ***** *****
| ***** *****
| ***** *****
| ***** *****
| ***** *****
35 + ***** *****
| ***** *****
| ***** *****
| ***** *****
| ***** *****
30 + ***** *****
| ***** *****
| ***** *****
| ***** *****
| ***** *****
25 + ***** *****
| ***** *****
| ***** *****
| ***** *****
| ***** *****
20 + ***** *****
| ***** *****
| ***** *****
| ***** *****
| ***** *****
15 + ***** *****
| ***** *****
| ***** *****
| ***** *****
| ***** *****
10 + ***** *****
| ***** *****
| ***** *****
| ***** *****
| ***** *****
5 + ***** *****
| ***** *****
| ***** *****
| ***** *****
| ***** *****
--------------------------------
F M
sex
SAS 시스템 12
통계량:합계, 분석:money, 분류:sex
___
/_ /|
|**| |
___ |**| |
/_ /| |**| |
|**| | |**| |
|**| | |**| |
-|**| |--------|**| |-------
/ |**| | / |**| | /
/ |**| | / |**| | /
/ |**| | / |**| | /
/ |**|/ / |**|/ /
/ / /
/ 897 / 1344 /
/-------------/-------------/
F M
sex
SAS 시스템 13
통계량:합계, 분석:money, 분류:sex
***************** F
******* *******
***** *****
**** ****
**** ***
*** ***
** **
** **
** **
** **
*** ***
** **
** .. **
** . 897 **
** .. 40.03% **
** .. **
* . . *
* . *
** . . **
* .. *
** . **
* .. *
* .. *
** .. **
* . *
* .. *
* . *
* + . . .. . .. . .. . .. . .. . .. . .. . .. *
* *
* *
* *
** **
* *
* *
** **
* *
** **
* *
* *
** **
** 1344 **
** 59.97% **
** **
** **
*** ***
** **
** **
** **
** **
*** ***
**** ***
**** ****
***** *****
******* *******
M *****************
SAS 시스템 14
money*age 의 도표. 범례: A = 1개 관측치, B = 2개 관측치, 등.
money |
|
93 + A
92 +
91 +
90 +
89 +
88 +
87 +
86 +
85 +
84 +
83 +
82 + A A
81 +
80 +
79 + A
78 + A
77 +
76 +
75 +
74 +
73 +
72 +
71 + A
70 +
69 +
68 +
67 +
66 +
65 +
64 + A
63 + A
62 + A A
61 + A
60 + A
59 +
58 +
57 + A A A
56 + A
55 + A
54 + A
53 + A
52 + A A A
51 + B
50 + A
49 + A A
48 + A
47 + A A B
46 + A
45 + A A A
44 + A
43 + A A
42 + A
|
---+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+--
10 15 20 25 30 35 40 45 50 55
age
SAS 시스템 15
SUMMARY 프로시저
관측치
sex mar 수 변수 N 평균값 표준편차 최소값 최대값
-----------------------------------------------------------------------------------------------------------------
F 1 9 pay 9 3.6666667 1.2247449 2.0000000 5.0000000
money 9 47.1111111 3.5862391 42.0000000 52.0000000
2 9 pay 9 3.8888889 1.2692955 2.0000000 5.0000000
money 9 52.5555556 7.5516738 44.0000000 62.0000000
M 0 1 pay 1 5.0000000 . 5.0000000 5.0000000
money 1 47.0000000 . 47.0000000 47.0000000
1 9 pay 9 3.8888889 1.2692955 2.0000000 5.0000000
money 9 59.0000000 9.9624294 49.0000000 82.0000000
2 11 pay 11 3.5454545 1.1281521 2.0000000 5.0000000
money 11 64.4545455 16.8603893 43.0000000 93.0000000
3 1 pay 1 3.0000000 . 3.0000000 3.0000000
money 1 57.0000000 . 57.0000000 57.0000000
-----------------------------------------------------------------------------------------------------------------
SAS 시스템 16
-------------------------------------------
| | money |
| |------------|
| | Sum |
|----------------------------+------------|
|mar | |
|----------------------------| |
|0 | 47.00|
|----------------------------+------------|
|1 | 955.00|
|----------------------------+------------|
|2 | 1182.00|
|----------------------------+------------|
|3 | 57.00|
-------------------------------------------
SAS 시스템 17
UNIVARIATE 프로시저
변수: work
적률
N 40 가중합 40
평균 3.25 관측치 합 130
표준편차 1.27601141 분산 1.62820513
왜도 -0.3410181 첨도 -0.8504773
제곱합 486 수정 제곱합 63.5
변동계수 39.2618897 평균의 표준오차 0.20175512
기본 통계 측도
위치측도 변이측도
평균 3.250000 표준편차 1.27601
중위수 3.000000 분산 1.62821
최빈값 4.000000 범위 4.00000
사분위 범위 2.00000
위치모수 검정: Mu0=0
검정 --통계량--- -------p-값-------
스튜던트의 t t 16.10864 Pr > |t| <.0001
부호 M 20 Pr >= |M| <.0001
부호 순위 S 410 Pr >= |S| <.0001
분위수(정의 5)
분위수 추정값
100% 최대값 5
99% 5
95% 5
90% 5
75% Q3 4
50% 중위수 3
25% Q1 2
10% 1
5% 1
1% 1
0% 최소값 1
극 관측치
-작은값부터- --큰값부터-
값 관측치 값 관측치
1 39 5 15
1 34 5 21
1 29 5 22
1 17 5 27
1 3 5 35
SAS 시스템 18
UNIVARIATE 프로시저
변수: money
적률
N 40 가중합 40
평균 56.025 관측치 합 2241
표준편차 12.3651444 분산 152.896795
왜도 1.34710398 첨도 1.3118782
제곱합 131515 수정 제곱합 5962.975
변동계수 22.0707619 평균의 표준오차 1.95510099
기본 통계 측도
위치측도 변이측도
평균 56.02500 표준편차 12.36514
중위수 52.00000 분산 152.89679
최빈값 47.00000 범위 51.00000
사분위 범위 14.50000
위치모수 검정: Mu0=0
검정 --통계량--- -------p-값-------
스튜던트의 t t 28.65581 Pr > |t| <.0001
부호 M 20 Pr >= |M| <.0001
부호 순위 S 410 Pr >= |S| <.0001
분위수(정의 5)
분위수 추정값
100% 최대값 93.0
99% 93.0
95% 82.0
90% 78.5
75% Q3 61.5
50% 중위수 52.0
25% Q1 47.0
10% 44.5
5% 43.0
1% 42.0
0% 최소값 42.0
극 관측치
-작은값부터- --큰값부터--
값 관측치 값 관측치
42 9 78 29
43 26 79 30
43 1 82 19
44 5 82 39
45 14 93 40
SAS 시스템 19
FREQ 프로시저
sex * nhob 테이블
sex nhob
빈도|
기대빈도|
백분율|
행 백분율|
칼럼 백분율| 1| 2| 총합
-----------+--------+--------+
F | 10 | 8 | 18
| 9.2432 | 8.7568 |
| 27.03 | 21.62 | 48.65
| 55.56 | 44.44 |
| 52.63 | 44.44 |
-----------+--------+--------+
M | 9 | 10 | 19
| 9.7568 | 9.2432 |
| 24.32 | 27.03 | 51.35
| 47.37 | 52.63 |
| 47.37 | 55.56 |
-----------+--------+--------+
총합 19 18 37
51.35 48.65 100.00
결측값의 개수 = 3
sex * nhob 테이블에 대한 통계량
통계량 자유도 값 확률
----------------------------------------------------------
카이제곱 1 0.2480 0.6185
우도비 카이제곱 1 0.2483 0.6183
연속성 수정 카이제곱 1 0.0285 0.8658
Mantel-Haenszel 카이제곱 1 0.2413 0.6233
파이 계수 0.0819
우발성 계수 0.0816
크래머의 V 0.0819
Fisher의 정확 검정
----------------------------
(1,1) 셀 빈도(F) 10
하단측 p값 Pr <= F 0.7956
상단측 p값 Pr >= F 0.4331
테이블 확률 (P) 0.2287
양측 p값 Pr <= P 0.7459
유효한 표본 크기 = 37
결측값의 개수 = 3
SAS 시스템 20
FREQ 프로시저
mar * nhob 테이블
mar nhob
빈도|
백분율|
행 백분율|
칼럼 백분율| 1| 2| 총합
-----------+--------+--------+
0 | 1 | 0 | 1
| 2.70 | 0.00 | 2.70
| 100.00 | 0.00 |
| 5.26 | 0.00 |
-----------+--------+--------+
1 | 7 | 9 | 16
| 18.92 | 24.32 | 43.24
| 43.75 | 56.25 |
| 36.84 | 50.00 |
-----------+--------+--------+
2 | 10 | 9 | 19
| 27.03 | 24.32 | 51.35
| 52.63 | 47.37 |
| 52.63 | 50.00 |
-----------+--------+--------+
3 | 1 | 0 | 1
| 2.70 | 0.00 | 2.70
| 100.00 | 0.00 |
| 5.26 | 0.00 |
-----------+--------+--------+
총합 19 18 37
51.35 48.65 100.00
결측값의 개수 = 3
mar * nhob 테이블에 대한 통계량
통계량 자유도 값 확률
----------------------------------------------------------
카이제곱 3 2.2773 0.5169
우도비 카이제곱 3 3.0489 0.3842
Mantel-Haenszel 카이제곱 1 0.1572 0.6917
파이 계수 0.2481
우발성 계수 0.2408
크래머의 V 0.2481
경고: 셀의 50%가 5보다 적은 기대빈도를 가지고 있습니다.
카이제곱 검정은 올바르지 않을 수 있습니다.
유효한 표본 크기 = 37
결측값의 개수 = 3
SAS 시스템 21
---------------------------------------------------------- sex=F ----------------------------------------------------------
FREQ 프로시저
mar * nhob 테이블
mar nhob
빈도|
백분율|
행 백분율| 1| 2| 총합
-----------+--------+--------+
1 | 3 | 6 | 9
| 16.67 | 33.33 | 50.00
| 33.33 | 66.67 |
-----------+--------+--------+
2 | 7 | 2 | 9
| 38.89 | 11.11 | 50.00
| 77.78 | 22.22 |
-----------+--------+--------+
총합 10 8 18
55.56 44.44 100.00
mar * nhob 테이블에 대한 통계량
통계량 자유도 값 확률
----------------------------------------------------------
카이제곱 1 3.6000 0.0578
우도비 카이제곱 1 3.7387 0.0532
연속성 수정 카이제곱 1 2.0250 0.1547
Mantel-Haenszel 카이제곱 1 3.4000 0.0652
파이 계수 -0.4472
우발성 계수 0.4082
크래머의 V -0.4472
경고: 셀의 50%가 5보다 적은 기대빈도를 가지고 있습니다.
카이제곱 검정은 올바르지 않을 수 있습니다.
Fisher의 정확 검정
----------------------------
(1,1) 셀 빈도(F) 3
하단측 p값 Pr <= F 0.0767
상단측 p값 Pr >= F 0.9924
테이블 확률 (P) 0.0691
양측 p값 Pr <= P 0.1534
표본 크기 = 18
SAS 시스템 22
---------------------------------------------------------- sex=M ----------------------------------------------------------
FREQ 프로시저
mar * nhob 테이블
mar nhob
빈도|
백분율|
행 백분율| 1| 2| 총합
-----------+--------+--------+
0 | 1 | 0 | 1
| 5.26 | 0.00 | 5.26
| 100.00 | 0.00 |
-----------+--------+--------+
1 | 4 | 3 | 7
| 21.05 | 15.79 | 36.84
| 57.14 | 42.86 |
-----------+--------+--------+
2 | 3 | 7 | 10
| 15.79 | 36.84 | 52.63
| 30.00 | 70.00 |
-----------+--------+--------+
3 | 1 | 0 | 1
| 5.26 | 0.00 | 5.26
| 100.00 | 0.00 |
-----------+--------+--------+
총합 9 10 19
47.37 52.63 100.00
결측값의 개수 = 3
mar * nhob 테이블에 대한 통계량
통계량 자유도 값 확률
----------------------------------------------------------
카이제곱 3 3.7005 0.2957
우도비 카이제곱 3 4.5089 0.2115
Mantel-Haenszel 카이제곱 1 0.6451 0.4219
파이 계수 0.4413
우발성 계수 0.4037
크래머의 V 0.4413
경고: 셀의 88%가 5보다 적은 기대빈도를 가지고 있습니다.
카이제곱 검정은 올바르지 않을 수 있습니다.
유효한 표본 크기 = 19
결측값의 개수 = 3
경고: 데이터의 14%이(가) 결측값입니다.
SAS 시스템 23
The TTEST Procedure
Statistics
Lower CL Upper CL Lower CL Upper CL
Variable sex N Mean Mean Mean Std Dev Std Dev Std Dev Std Err Minimum Maximum
money F 18 46.659 49.833 53.007 4.7893 6.3824 9.5682 1.5044 42 62
money M 22 54.96 61.091 67.222 10.639 13.829 19.762 2.9483 43 93
money Diff (1-2) -18.42 -11.26 -4.096 9.0969 11.131 14.346 3.5377
T-Tests
Variable Method Variances DF t Value Pr > |t|
money Pooled Equal 38 -3.18 0.0029
money Satterthwaite Unequal 30.8 -3.40 0.0019
Equality of Variances
Variable Method Num DF Den DF F Value Pr > F
money Folded F 21 17 4.69 0.0021
SAS 시스템 24
CORR 프로시저
4 변수: age work pay money
단순 통계량
변수 N 평균 표준편차 합 최소값 최대값
age 40 28.87500 7.93301 1155 11.00000 51.00000
work 40 3.25000 1.27601 130.00000 1.00000 5.00000
pay 40 3.75000 1.17124 150.00000 2.00000 5.00000
money 40 56.02500 12.36514 2241 42.00000 93.00000
피어슨 상관 계수, N = 40
H0: Rho=0 검정에 대한 Prob > |r|
age work pay money
age 1.00000 -0.35146 -0.46983 0.76854
0.0262 0.0022 <.0001
work -0.35146 1.00000 0.86642 -0.42618
0.0262 <.0001 0.0061
pay -0.46983 0.86642 1.00000 -0.43687
0.0022 <.0001 0.0048
money 0.76854 -0.42618 -0.43687 1.00000
<.0001 0.0061 0.0048
♥♥♥♥♥
책에 나온대로 따라서 명령어를 치고, 주석을 달았다.
뭐가뭔지 모르지만 엄청 쏟아져 나온다.
뭐 걱정하지는 마라. 앞으로 배울 것들을 보여준 것이라니까..
그래도 그렇지.. 이거 정말 통계 몰라도 괜찮은 거 맞아?
일단 단순하게라도 측정 척도와 통계기법의 관계를 알아보자.
① 하나의 변수에 대한 분석 - 기술적 분석
1. 명목, 서열 척도(질적 분석)
- 통계량: 비율, 최빈수, 명목산포계수, 4분위, 범위, 첨도, 왜도 등
2. 구간, 비율 척도(양적 분석)
- 통계량: 평균, 표준편차, 중위수, 최빈수, 첨도, 왜도 등
② 두 변수들간의 분석
1. 단변량
1) 명목/명목(독립변수/종속변수): 카이자승, 빈도분석
2) 명목/구간: t-검정, 분산분석(ANOVA, F 검정/ 구간척도를 서열척도화하여 카이자승 검정 가능), 회귀분석(Dummy 이용)
3) 구간/명목: logit 모형, probit 모형
4) 구간/구간: 상관분석, 회귀분석, 편상관계수
2. 다변량
1) 명목/명목: 로그선형모형
2) 명목/구간: 다변량 분산분석(MANOVA)
3) 구간/명목: 다변량 회귀분석
4) 구간/구간: 로지스틱모형, 판별분석
5) 독립변수, 종속변수 구분이 없는 경우: 주성분 분석, 요인분석, 군집분석
나 참.. 통계 몰라도 되느듯 써놓더니 이제 통계를 부르짖는다...으어어.
그 뒤에는 뭐가 나오냐구? 통계 기법 정리이다.
일단 뒤에서 하나하나 기법과 연산방법이 나오니까 차근차근 보도록 해야겠다.
갑자기 많이 먹으면 체하는 법. 오늘은 여기까지...